Sorun
Bir makefile'ın bir veya daha fazla hedefi için bağımlılıkları görmek istiyorum. Bu yüzden makefiles ayrıştırabilir ve daha sonra bazı ağaç gibi bir format (girinti, ascii-art, ...) veya bir grafik (nokta, ...) olarak bağımlılıkları temsil edecek bir program arıyorum.
Benzer
Diğer durumlar için bunu yapan programlar vardır:
- pakt veya borç , yazılım paketlerinin bağımlılıklarını ascii biçiminde veya
dot
grafik olarak ilgili biçimde görüntüleyebilir , gcc -M source_file.c
C kaynak dosyasının bağımlılıklarını bir make kuralı olarak görüntüler,- pstree süreç ağacının ascii temsilini görüntüler.
İlerleme
Web'de arama yaparken çok az yardım buldum . Bu beni denemeye yönlendirdi
make --always-make --silent --dry-run some_target | \
grep --extended-regexp 'Considering target file|Trying rule prerequisite'
ama güzel bir ağaç / grafik olarak göstermek için perl veya python biraz daha ayrıştırma kodu kesmek zorunda gibi görünüyor. Tam ve doğru grafiği bu şekilde elde edip edemeyeceğimi henüz bilmiyorum.
Gereksinimler
Grafiği bazı şekillerde sınırlamak güzel olurdu (yerleşik bir kural yok, sadece belirli bir hedef, sadece biraz derinlik) ama çoğunlukla sadece bana bazı "makul", insandaki bağımlılıkları verecek bir araç arıyorum görüntülenebilir biçimi ("Benzer" altındaki programlar gibi).
Sorular
- Bunu yapabilen programlar var mı?
- Tam ve doğru bilgileri nereden alacağım
make -dnq ...
? - Bu bilgiyi almanın daha iyi bir yolu var mı?
- Bu bilgileri ayrıştırma komut dosyaları / girişimleri zaten var mı?
printf 'A\n B\n D\n C\n D\n'
. (Kim yorumlara yeni satırlar koyamayacağımı kim söyledi? :)
dot
sipariş grafikleri gayet iyi.) Soruyu daha açık hale getirmek için biraz güncelleyeceğim (umarım).