Masalah
Saya ingin melihat dependensi untuk satu atau lebih target makefile. Jadi saya mencari program yang dapat mem-parsing makefiles dan kemudian akan mewakili dependensi dalam beberapa format seperti pohon (indentasi, ascii-art, ...) atau sebagai grafik (titik, ...).
Serupa
Ada program yang melakukan ini untuk situasi lain:
- pactree atau debtree dapat menampilkan dependensi untuk paket perangkat lunak dalam format masing-masing dalam pohon seperti format ascii atau sebagai
dot
grafik, gcc -M source_file.c
menampilkan dependensi file sumber C sebagai aturan make,- pstree menampilkan representasi ascii dari pohon proses.
Kemajuan
Mencari di web saya menemukan sedikit bantuan . Itu membuat saya mencoba
make --always-make --silent --dry-run some_target | \
grep --extended-regexp 'Considering target file|Trying rule prerequisite'
tetapi sepertinya saya harus meretas beberapa kode parsing lebih dalam perl atau python untuk mewakili ini sebagai pohon / grafik yang bagus. Dan saya belum tahu apakah saya akan benar-benar mendapatkan grafik yang lengkap dan benar dengan cara ini.
Persyaratan
Akan lebih baik untuk membatasi grafik dalam beberapa cara (tidak ada aturan bawaan, hanya target yang diberikan, hanya beberapa kedalaman) tetapi untuk sebagian besar saya hanya mencari alat yang akan memberi saya dependensi dalam beberapa "masuk akal", manusia Format -viewable (seperti program di bawah "Mirip" lakukan).
Pertanyaan
- Apakah ada program yang bisa melakukan ini?
- Apakah saya akan mendapatkan informasi yang lengkap dan benar dari
make -dnq ...
? - Apakah ada cara yang lebih baik untuk mendapatkan info ini?
- Apakah skrip / upaya untuk menguraikan informasi ini sudah ada?
printf 'A\n B\n D\n C\n D\n'
. (Siapa bilang saya tidak bisa memasukkan baris baru dalam komentar? :)
dot
grafik pesanan jelas baik-baik saja.) Saya akan memperbarui sedikit pertanyaan untuk membuatnya lebih jelas (saya harap).