Estoy buscando una herramienta que pueda generar makefile para un proyecto de C/C++ para diferentes compiladores (gcc, microsoft vC++, borland, etc.) y diferentes plataformas (Win, Linux, Mac).¿Alguna buena herramienta para la generación de archivos MAKE?
Respuesta
Otras sugerencias que pueda tener en cuenta:
Scons es una biblioteca de acumulación compilador cruzado multiplataforma, utiliza Python scruipting de los sistemas de construcción. Se usa en una variedad de proyectos grandes y funciona muy bien.
Si está utilizando Qt, QMake es un buen sistema de construcción también.
CMake es también muy dulce.
Por último, If all else fails...
¿Has probado Automatic Makefile Generator?
Es compatible con los siguientes compiladores:
Borland 3.1 Borland 5.0 Borland 5.0, 16 bit Borland 5.5 Borland 5.6 Borland 5.8 CC Gnu g++ Gnu g++, dynamic library Intel 5, 6, 7 for Linux Intel 5, 6, 7 for Linux, dynamic library Intel 5, 6, 7 for windows Intel 8,9,10 for Linux Intel 8,9,10 for Linux, dynamic library Intel 8,9 for windows Intel 10 for windows Visual C++ 5 Visual C++ 6, 7, 7.1 Visual C++ 8 Open Watcom Watcom 10A Watcom 10A, 16 bit
También voy a CMake segundos. Lo he usado durante bastante tiempo en un proyecto multiplataforma y estoy muy satisfecho con él.
Un problema a considerar es ¿quieres un creador "makefile" o un sistema de compilación de reemplazo? El problema con los sistemas de compilación de reemplazo es que normalmente no se obtiene una buena integración IDE para las plataformas cuyos usuarios esperan esto (Visual C++). Si usted quiere un creador de makefile en lugar de un sistema de compilación de reemplazo, eche un vistazo al MPC. Es gratis y de código abierto.
He usado Bakefile anteriormente con algo de éxito. Es bastante simple y parece funcionar bien.
La generación automática de (M | m) akefiles me hace preocuparme por lo que estás tratando de hacer aquí.
¿Entiende lo que sucede bajo las sábanas cuando escribe? O gmake? Solo estoy preguntando porque si no lo haces cuando se rompen cosas, como que los nuevos cambios de código no se incorporen a la compilación, tendrás dificultades para tratar de resolver lo que sucedió.
Para empezar a comprender hacer, puedo sugerir que tenga una lectura de "Managing Projects with GNU Make" de Robert Mecklenberg. Los primeros capítulos cubren cómo funciona make. Entender el hecho de que hacer un encadenamiento hacia atrás es una de las cosas más importantes que puede hacer.
Si no lo hace, y parece que su sistema funciona, entonces, para usar el término de los programadores pragmáticos, "programming by coincidence". (-:!..
Por cierto Grandes artículos disponibles en su sitio y no estoy involucrado con ellos YMMV Yada-bla ...
CMake es la única herramienta que realmente puede generar proyectos reales de Visual Studio (es decir, no "Makefile" -proyectos que llaman a una herramienta externa) y que recrea automáticamente los proyectos cuando el archivo de entrada de compilación (CMakeLists.txt) cambia.
Los problemas de rendimiento de SCons son bien conocidos y un tema ampliamente debatido en las listas de correo de SCons.
Yo votaría por OMake. Arregla todas las quejas que tuve con GNU marca:
- es un lenguaje en toda regla.
- utiliza MD5 en lugar de marcas de tiempo.
- proporciona un shell mínimo que implementa los comandos de Unix más útiles en todas las plataformas: find, sed, awk, etc ...
- funciona con nombres de rutas de estilo unix o dos.
- ampliamente documentado.
- admite compilaciones paralelas.
- rápido.
Una reciente adición a la lista de reemplazos es waf. Desde la experiencia personal SCONS hace el trabajo bastante bien.
No sé si usted ya tiene interés en esta pregunta. Estoy trabajando en una proyección similar de autogenerador Makefile llamada CodeMate, desarrollada mediante el uso de Ruby. Tal vez no sea tan maduro para grandes aplicaciones en este momento, pero seguiré trabajando para mejorarlo. Los usuarios no deberían necesitar editar ningún archivo de configuración para construir el software, o al menos se supone que debe serlo. La curva de aprendizaje debe ser minimizada.
- 1. ¿Hay alguna buena herramienta para examinar Makefiles?
- 2. ¿Alguna buena herramienta de construcción para un proyecto de C++, que puede reemplazar a make?
- 3. buena herramienta para sangrar archivos de JavaScript
- 4. Herramienta de generación de perfiles de rendimiento Buena F #
- 5. ¿Alguna buena herramienta de traducción comunitaria para Android?
- 6. ¿Alguna buena herramienta para resolver programas enteros en Linux?
- 7. ¿Hay alguna herramienta o proyecto para generar archivos AZW?
- 8. Herramienta de generación de documentación de Oracle
- 9. ¿Alguna buena referencia para JQOM?
- 10. herramienta en línea para la generación de archivos de imágenes matemáticas ecuación
- 11. ¿Utilidad de generación de archivos simples?
- 12. Herramienta para comparar archivos web.config
- 13. ¿Hay alguna herramienta para reparar archivos RCS/CVS, v?
- 14. ¿Alguna buena biblioteca para leer y escribir archivos csv?
- 15. ¿Hay alguna herramienta para combinar archivos JS frontales en NodeJS?
- 16. ¿Hay alguna herramienta para distinguir/fusionar/ordenar archivos de cadenas localizables?
- 17. Buena herramienta para recopilar problemas, mejoras, ideas
- 18. Herramienta de generación de perfiles Java para Linux
- 19. ¿Hay alguna herramienta como doxygen para XSLT?
- 20. ¿Hay alguna buena herramienta para encontrar estadísticas de uso de GUI, paneles desglosados y componentes?
- 21. ¿Alguna sugerencia para una buena herramienta de prueba automática de carga web?
- 22. Herramienta de generación de código C#
- 23. ¿Hay alguna biblioteca de Java para la generación de miniaturas?
- 24. ¿Hay alguna buena herramienta para refactorizar el código web de Perl?
- 25. Herramienta de generación de gráficos de llamada C#
- 26. ¿Hay una buena herramienta para las vistas previas de XSL?
- 27. Herramienta para comparar archivos de proyecto Xcode
- 28. ¿Alguna buena herramienta o consejo para probar fuzz Windows forms applications?
- 29. Cualquier buena herramienta para buscar archivos (Ear, War, Jar) en OSX
- 30. Comprobación de archivos JAR (bibliotecas) en la herramienta de control de versiones: ¿es una buena práctica?
¡Otro enlace de SO muerto! Fui de forma manual a su página de GitHub, y lo que veo allí es que CodeMate es solo una construcción de Fortran. ¿Creaste otro proyecto con el mismo nombre? [Este] (https://github.com/shepherddog/CodeMate) parece que podría ser lo que quieres decir. – refi64