2010-06-01 14 views
8

La mia comprensione è che quando viene eseguito make, genera un DAG internamente per rappresentare tutte le dipendenze nel progetto. C'è un modo per arrivare a quel DAG e disegnarlo graficamente, ad esempio usando qualcosa come graphviz?Rappresentazione grafica del DAG generato da make?

Sto usando gnu make su Ubuntu 8.04.

EDIT

Ho appena imbattuto in questi strumenti chiamati mamdag e mamdot. Dovrebbero funzionare sia con nmake sia con gnu make, ma non riesco a trovare le opzioni per fare in modo che gnu faccia fuori il file mam.

It can be downloaded here - questi pacchetti:

INIT
ast-base
AST-gpl

appena trovato questo articolo di Glenn Fowler AT & T describing the MAM language e lo strumento mamdot.

Sembra che sia necessario eseguire il patch di gnu per farlo funzionare, anche se non sono ancora sicuro al 100%.

Forse c'è un altro modo?

risposta

1

Per il lato codice delle cose, doxygen genererà diagrammi di dipendenza tra i file di origine e di intestazione, se questo è ciò che ti interessa, senza l'utilizzo di make.

+1

No, io in realtà voglio una discarica di 'DAG interno di make'. È un modo per dimostrare che la configurazione della build per un particolare progetto è rotta e deve essere rielaborata. Sulla falsariga del documento, "Recursive Make Considerful Harmful", http://aegis.sourceforge.net/auug97.pdf –

3

Si dovrebbe provare a utilizzare Makefile::GraphViz s' gvmake programma di utilità per creare i grafici desiderati

+0

+1 interessante, ma quello che voglio veramente è visualizzare il DAG interno di gnu make. –

+0

'makesimple', che il documento gvmake suggerisce di usare, ottiene l'output da' make --print-data-base' e ​​lo analizza. probabilmente contiene abbastanza informazioni sul DAG interno, anche se non posso davvero confermarlo – Hasturkun

Problemi correlati