Problema
Quero ver as dependências para um ou mais destinos de um makefile. Então, estou procurando um programa que possa analisar makefiles e, em seguida, representar as dependências em algum formato de árvore (recuo, ascii-art, ...) ou como um gráfico (ponto, ...).
Semelhante
Existem programas que fazem isso para outras situações:
- pactree ou debtree pode exibir as dependências para pacotes de software no respectivo formato em uma árvore como formato ascii ou como
dot
gráfico, gcc -M source_file.c
exibe as dependências do arquivo de origem C como uma regra de criação,- pstree exibe uma representação ascii da árvore de processos.
Progresso
Pesquisando na web, encontrei pouca ajuda . Isso me levou a tentar
make --always-make --silent --dry-run some_target | \
grep --extended-regexp 'Considering target file|Trying rule prerequisite'
mas parece que eu tenho que hackear um pouco mais de código de análise em perl ou python para representar isso como uma bela árvore / gráfico. E ainda não sei se realmente vou obter o gráfico completo e correto dessa maneira.
Exigências
Seria bom limitar o gráfico de algumas maneiras (nenhuma regra embutida, apenas um determinado destino, apenas um pouco de profundidade), mas na maioria das vezes estou apenas procurando uma ferramenta que me dê as dependências de alguma maneira "razoável", humana. formato visível (como os programas em "Similar").
Questões
- Existem programas que podem fazer isso?
- Receberei as informações completas e corretas
make -dnq ...
? - Existe uma maneira melhor de obter essas informações?
- Já existem scripts / tentativas para analisar essas informações?
printf 'A\n B\n D\n C\n D\n'
. (Quem disse que eu não posso colocar novas linhas nos comentários? :) #
dot
gráficos de pedidos são obviamente bons.) Atualizarei a pergunta um pouco para torná-la mais clara (espero).