2010-03-05 20 views
15

Los archivos complejos de gran complejidad pueden ser difíciles de leer y examinar. ¿Qué herramientas son buenas para visualizar o examinar un archivo gnu make?¿Hay alguna buena herramienta para examinar Makefiles?

+0

gato? ¿Menos? gvim? –

+0

Por lo que vale, simplemente uso el Mk. Combo eyeball plus editor ... la mayoría de las personas escriben makefiles bastante similares y uno se acostumbra. Eso no es cierto para los archivos makefiles generados por la máquina, pero para esos probablemente deba comenzar con la entrada al generador. – dmckee

+3

Puede usar make -d (y opcionalmente -n) para que imprima lo que está sucediendo, lo que a menudo es útil. –

Respuesta

8

hay una biblioteca Perl para la construcción de GraphViz cifras de Makefile:

https://metacpan.org/pod/GraphViz::Makefile

+1

Encontré este nombre similar y también es bueno para producir archivos png http://search.cpan.org/~agent/Makefile-GraphViz-0.18/lib/Makefile/GraphViz.pm – Johnny

3

No sé de una herramienta que puede dar sentido a un conjunto de archivos make. De hecho, puede ser casi imposible crear uno, ya que la mayoría de los grandes entornos de compilación basados ​​en make son un alboroto de comandos aleatorios, una macro sustitución aterradora y un flujo de control enormemente dependiente del contexto.

Como un aparte, escuché cosas buenas acerca de SCons que estoy viendo porque estoy involucrado con un entorno de sistema que se ha convertido en una pesadilla de mantenimiento en sí mismo.

+0

SCons es mi sistema de compilación favorito , pero tiene una gran ventaja. Puede escribir rápidamente un archivo make para ejecutar cualquier programa en un conjunto de archivos. SCons usa varios complementos para diferentes tareas de compilación, incluye complementos para compiladores comunes, pero en algunos casos puede que tenga que escribir los suyos propios. – mikerobi

3

He tenido mucho éxito con la opción --print-data-base (-p).

Combinado con --just-print (-n, --dry-run) y la redirección de stdout a un archivo crea un nuevo archivo make que contiene todas las reglas y variables en un formato genérico que puede resultar más fácil de comprender.

Con makefiles realmente malos he llegado al extremo de analizar esta salida en Perl para generar un nuevo sistema de compilación.

19

He intentado usar el visualizador de CPAN y he fallado. Entonces, escribí mi propio visualizador Makefile rápido y sucio.

Es posible que desee probarlo: http://github.com/vak/makefile2dot

+2

Si pudiera haberte dado +10 lo habría hecho. Su solución funciona mejor que cualquiera de las soluciones de Perl publicadas. – synthesizerpatel

+0

oh, gracias, me alegro de que haya ayudado :) – vak

+0

@synthesizerpatel de alguna manera publicar una recompensa y aceptar vak's? – n611x007

Cuestiones relacionadas