2010-06-01 11 views
8

Según tengo entendido, cuando se ejecuta make, genera un DAG internamente para representar todas las dependencias del proyecto. ¿Hay alguna manera de llegar a ese DAG y graficarlo, digamos usando algo como graphviz?¿Graficar el DAG generado por make?

Estoy usando gnu make en Ubuntu 8.04.

EDITAR

Acabo de funcionar a través de estas herramientas llamadas mamdag y mamdot. Se supone que funcionan tanto con nmake como con gnu make, pero parece que no puedo encontrar las opciones para que gnu make escuche el archivo mam.

It can be downloaded here - estos paquetes:

INIT
ast-base
ast-GPL

Sólo encontró este artículo por Glenn Fowler en AT & T describing the MAM language y la herramienta mamdot.

Parece que tienes que parchear gnu para que esto funcione, aunque todavía no estoy 100% seguro.

¿Quizás hay otra manera?

Respuesta

1

Por el lado del código de las cosas, doxygen producirá diagramas de dependencia entre los archivos de origen y de encabezado, si eso es lo que le interesa, sin el uso de make.

+1

No, en realidad quieren un vertedero de 'DAG interno de make'. Es una forma de probar que la configuración de compilación para un proyecto en particular está rota y necesita ser modificada. En la línea del documento, "Recursive Make Considered Harmful", http://aegis.sourceforge.net/auug97.pdf –

3

debería intentar usar Makefile::GraphViz 's gvmake utilidad para crear los gráficos que desea

+0

+1 por interesante, pero lo que realmente quiero es visualizar el DAG interno de gnu make. –

+0

'makesimple', que gvmake doc sugiere utilizar, obtiene el resultado de' make --print-data-base' y lo analiza. probablemente contenga suficiente información sobre el DAG interno, aunque realmente no puedo confirmarlo – Hasturkun

Cuestiones relacionadas