Problema
Voglio vedere le dipendenze per uno o più target di un makefile. Quindi sto cercando un programma in grado di analizzare i makefile e quindi rappresentare le dipendenze in un formato simile ad un albero (rientro, ascii-art, ...) o come un grafico (punto, ...).
Simile
Esistono programmi che lo fanno per altre situazioni:
- pactree o debitree possono visualizzare le dipendenze per i pacchetti software nel rispettivo formato in un albero come formato ASCII o come
dot
grafico, gcc -M source_file.c
visualizza le dipendenze del file sorgente C come regola di creazione,- pstree visualizza una rappresentazione ASCII dell'albero di processo.
Progresso
Cercando sul web ho trovato poco aiuto . Questo mi ha portato a provare
make --always-make --silent --dry-run some_target | \
grep --extended-regexp 'Considering target file|Trying rule prerequisite'
ma sembra che devo hackerare un po 'più di codice di analisi in perl o python per rappresentare questo come un bel albero / grafico. E non so ancora se otterrò davvero il grafico completo e corretto in questo modo.
Requisiti
Sarebbe bello limitare il grafico in qualche modo (nessuna regola incorporata, solo un determinato obiettivo, solo una certa profondità) ma per la maggior parte sto solo cercando uno strumento che mi dia le dipendenze in qualche "ragionevole", umano formato visualizzabile (come fanno i programmi in "Simile").
Domande
- Ci sono programmi che possono farlo?
- Riceverò le informazioni complete e corrette da
make -dnq ...
? - C'è un modo migliore per ottenere queste informazioni?
- Esistono già script / tentativi di analisi di queste informazioni?
printf 'A\n B\n D\n C\n D\n'
. (Chi ha detto che non posso inserire nuove righe nei commenti? :)
dot
grafici dell'ordine sono ovviamente a posto.) Aggiornerò un po 'la domanda per renderla più chiara (spero).