Pregunta

He estado usando make y make durante muchos años, y aunque el concepto es el sonido, la aplicación tiene algo que desear.

Alguien ha encontrado algún buenas alternativas para hacer que no complicarse demasiado el problema?

¿Fue útil?

Solución

echa un vistazo SCons.Por ejemplo Doom 3 y Blender hacer uso de ella.

Otros consejos

Tengo un montón de amigos que juran por CMake para el desarrollo multiplataforma:

http://www.cmake.org/

Es el sistema de construcción utilizado para la VTK (entre otras cosas), que es una librería de C++ con la cruz-plataforma de Python, Tcl, y Java enlaces.Creo que es probablemente el menos complicado de lo que encontrará con muchas capacidades.

Siempre se puede intentar la norma autotools.Automake archivos son bastante fáciles de poner juntos si sólo estás corriendo en Unix y si nos atenemos a la C/C++.La integración es más complicado, y autotools está lejos de ser el sistema más simple que nunca.

Algunos de los de GNOME proyectos han sido la migración a waf.

Es Python, como Scons, pero también independiente -- así que en lugar de exigir a otros desarrolladores para tener su favorito herramienta de construcción de instalado, sólo tienes que copiar el independiente script de construcción en el proyecto.

Recomiendo el uso de Rake.Es la herramienta más sencilla que he encontrado.

Otras buenas herramientas que yo he utilizado, aunque, si Ruby no es su cosa, son:

  • AAP (Python)
  • SCons (Python)
  • Ant (Java, de configuración en XML, bastante complejo)

doit es una herramienta de python.Se basa en los conceptos de la acumulación de las herramientas más genérica.

  • puede definir la manera de una tarea/regla es hasta la fecha (no sólo la comprobación de la hora, archivos de destino no son necesarios)
  • las dependencias pueden ser calculadas dinámicamente por otras tareas
  • la tarea de las acciones puede ser python funciones o comandos de la shell

Ser conscientes de la ninja herramienta de construcción (v1.8.2 de Septiembre de 2017), la cual está influenciada por tup y redo.

La acumulación generador de archivos cmake (por ejemplo,para Unix Makefiles, Visual Studio, XCode, Eclipse CDT, ...) también pueden generar ninja crear archivos desde la versión 2.8.8 (abril de 2012) y, afaik, ninja es que ahora, incluso el predeterminado de la herramienta utilizada por cmake.

Se supone que es para superar la make herramienta (mejor seguimiento de dependencia y es también paralelo).

cmake es que ya es una herramienta bien establecida.Usted siempre puede elegir más tarde la construcción de la herramienta sin modificar los archivos de configuración.Así que si un mejor build está desarrollado en el futuro, que será financiado por cmake usted puede cambiar a ella muy bien.

Tenga en cuenta que para c/c++ mejorar el tiempo de compilación es a veces limitada a causa de los encabezados incluidos a través de la preprocesador (en particular, cuando se utiliza en el encabezado de sólo libs, por ejemplo boost & eigen) que, esperamos, será sustituida por la propuesta de módulos (en una revisión técnica de c++11 o, eventualmente, en c++1y).Echa un vistazo a este presentación para más detalles sobre este tema.

Escribí una herramienta llamada bien que intentó hacer de la escritura makefile-como las cosas muy fáciles de leer y de escribir.

Es una especie de que depende de lo que estamos tratando de hacer.Si todos usted quiere es hacer al estilo de destino de las dependencias y la invocación de comandos, a continuación, Hacer es en realidad una de las mejores herramientas para la tarea.:-) Rake es muy agradable, pero puede ser torpe para algunos casos sencillos.Ant es, por supuesto, la verbosidad de la ciudad, pero tiene un mejor soporte para la construcción de Java-como idiomas (Scala y Groovy incluido).También, la Hormiga está disponible en todas partes.Esa es la razón principal por la que lo uso.Debido a que se trabaja constantemente en Windows, de hecho, más de la cruz-plataforma que Hacer.

Si desea gestión de la dependencia para Java-como bibliotecas, Maven es la elección canónica, pero yo personalmente me gusta Buildr mucho mejor.Es más rápido y mucho más fácil de personalizar (se basa en el Rastrillo).Por desgracia, no es tan ubicuo como Maven todavía.

Lo que más me gusta hacer después de haber considerado un montón de alternativas.Cuando se genera automáticamente las dependencias, ya sea mediante el compilador o algo así fastdep no hay mucho que hacer.En particular, yo no quiero que mi script de compilación de estar atado a la implementación del lenguaje, y no me gusta escribir cosas en XML cuando más legible alternativas están disponibles.Una herramienta que exponga el propósito general de la lengua tiene mérito, aunque, sin embargo otro lenguaje interpretado no (afaik). ¿Qué tiene de Malo Hacer? podría apelar a su punto de vista sobre el movimiento, lejos de hacer.

/Allan

Ruby hacer que el sistema se llama rake: http://rake.rubyforge.org/

Se ve bastante prometedor.

Siempre hay Hormiga: http://ant.apache.org, que personalmente me parece horrendo.Es el estándar de facto para el desarrollo de Java, sin embargo.

No estoy seguro de si usted está haciendo la pregunta correcta aquí.

Después de una simplificado hacer?En cuyo caso, usted necesita conseguir a alguien que esté muy familiarizado con la marca para crear una serie de (M|m)akefiles que simplificará su problema.

O eres de los que quieren parecer a la tecnología subyacente?Estamos deseen aplicar un diseño por contrato tipo de arquitectura que se incorpora, y forzada en el código de diseño?O posiblemente, el lenguaje mismo, por ejemplo,Ada y su concepto de especificaciones (interfaces) y los cuerpos (implementaciones)?

La dirección a la que son después de que definitivamente afecta el potencial de los resultados de esta pregunta?

Básicamente, nuevas formas de construcción de sistemas de sólo aquellos componentes que realmente han cambiado en relación a la adopción de nuevas tecnologías que tienen este tipo de mecanismos incorporados en el diseño.

Lo siento, no es una respuesta directa.Sólo quería intentar conseguir para evaluar el camino que quería la cabeza hacia abajo.

saludos,

Rob

FlowTracer de RTDA es otra buena opción que he visto utilizado comercialmente en gran escala (entorno de decenas de miles de puestos de trabajo): http://www.rtda.com/flowtracer-design-flow-infrastructure-software

Tiene una interfaz gráfica de usuario que muestra la dependencia gráfico con códigos de color cajas de puestos de trabajo y óvalos para los archivos.Cuando el número de puestos de trabajo y los archivos se pone alto, una herramienta basada en GUI como FlowTracer es bastante esencial.

El costo de instalación inicial es más alta que Hacer.Hay una curva de aprendizaje para la creación de su primer flujo de usarlo.Después de eso, se vuelve más rápido.

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