Pregunta

Estoy buscando una herramienta que puede generar el makefile para C/C++ proyecto para las diferentes compiladores (gcc, microsoft vc++, borland, etc) y diferentes plataformas (Win, Linux, Mac).

¿Fue útil?

Solución

Otras sugerencias que usted puede desear para considerar:

  • Scons es una cruz-plataforma, el compilador cruzado construir la biblioteca, utiliza Python scruipting para la construcción de los sistemas.Se usa en una variedad de proyectos de gran envergadura, y funciona muy bien.

  • Si usted está usando Qt, QMake es un buen sistema de construcción también.

  • CMake es también muy dulce.

  • Finalmente, Si todo lo demás falla...

Otros consejos

Has probado Automático Makefile Generador?

Es compatible para 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 

He usado Bakefile antes con cierto éxito.Es bastante simple y parece que funciona bien.

CMake es la única herramienta que puede generar verdaderos proyectos de Visual Studio (es decir,no "Makefile"-los proyectos que llamar a una herramienta externa), y que automáticamente se recrea en los proyectos, cuando la generación del archivo de entrada (CMakeLists.txt) los cambios.

SCons de los problemas de rendimiento son bien conocidos y un thorougly tema de debate en los SCons listas de correo.

Yo iba a votar por OMake.Corrige todas las quejas que he tenido con GNU make:

  • es un verdadero lenguaje.
  • utiliza MD5 en lugar de marcas de tiempo.
  • proporciona un mínimo de shell que implementa el más útil de los comandos de unix en todas las plataformas:encontrar, sed, awk, etc...
  • funciona con cualquiera de los unix o dos estilo de rutas de acceso.
  • ampliamente documentada.
  • paralelo admite construye.
  • rápido.

Generación automática de (M|m)akefiles hace que me preocupe acerca de lo que estamos tratando de hacer aquí.

¿Entiende usted lo que sucede en la cubre cuando usted escriba hacer?O gmake?Sólo estoy preguntando, porque si no cuando las cosas se rompen, tales como los nuevos cambios en el código no ser incorporados en la construcción, tendrás dificultades tratando de trabajar lo que ha sucedido.

Para empezar a entender a hacer, me pueden sugerir la presencia de una lectura de "La gestión de Proyectos con GNU Make"por Robert Mecklenberg.Los primeros capítulos tratan de la manera de hacer es trabajar.Llegar a su oído en el hecho de que hacer es encadenamiento hacia atrás es una de las cosas más importantes que usted puede hacer.

Si no lo hace, y el sistema parece funcionar, entonces usted va a ser, para el uso de La Pragmática de Programadores término, "programación por casualidad". (-:

Por CIERTO muy bien los artículos disponibles en su sitio!Y no estoy involucrado con ellos.YMMV.Yada-yada...

Yo también voy a segundo de CMake.Yo he estado usando durante bastante tiempo en un multi-plataforma proyecto y estoy muy satisfecho con ella.

Una cuestión a considerar es ¿quieres un "makefile" creador o un reemplazo de su sistema de compilación?El problema con el reemplazo de construir sistemas es que normalmente no se consigue una buena integración con el IDE de plataformas en los que los usuarios esperan que este (Visual C++).Si usted no quiere recibir un makefile creador, en lugar de un reemplazo del sistema de generación, echa un vistazo a MPC.Es gratis y de código abierto.

Una reciente adición a la lista de reemplazos es waf.A partir de la experiencia personal de los SCONS hace el trabajo bastante bien.

No sé si tiene interés en esta cuestión.Estoy trabajando en un proyecto similar Makefile auto-generador de proyección de la llama CodeMate, desarrollado mediante el uso de Ruby.Tal vez no es la madura de grandes de la aplicación ahora mismo, pero voy a seguir trabajando en ello para hacerlo mejor.Los usuarios no deberían tener que editar cualquier archivo de configuración para crear el software, o al menos eso se supone.La curva de aprendizaje debe ser minimizado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top