ปัญหา
ฉันต้องการดูการอ้างอิงสำหรับหนึ่งหรือมากกว่าหนึ่งเป้าหมายของ makefile ดังนั้นฉันกำลังมองหาโปรแกรมที่สามารถแยกวิเคราะห์ makefiles แล้วจะแสดงการอ้างอิงในรูปแบบต้นไม้บางอย่าง (เยื้อง, ascii-art, ... ) หรือเป็นกราฟ (dot, ... )
คล้ายคลึงกัน
มีโปรแกรมที่ทำสิ่งนี้สำหรับสถานการณ์อื่น ๆ :
- pactreeหรือcashreeสามารถแสดงการขึ้นต่อกันของชุดซอฟต์แวร์ในรูปแบบตามลำดับในแผนผังเช่นรูปแบบ ascii หรือเป็น
dot
กราฟ gcc -M source_file.c
แสดงการขึ้นต่อกันของไฟล์ต้นฉบับ C เป็นกฎการสร้าง- pstreeแสดงการเป็นตัวแทน ASCII ของต้นไม้กระบวนการ
ความคืบหน้า
ค้นหาเว็บที่ผมพบความช่วยเหลือเล็ก ๆ น้อย ๆ นั่นทำให้ฉันต้องลอง
make --always-make --silent --dry-run some_target | \
grep --extended-regexp 'Considering target file|Trying rule prerequisite'
แต่ดูเหมือนว่าฉันจะต้องแฮกรหัสการแยกวิเคราะห์เพิ่มเติมใน Perl หรือ Python เพื่อแสดงสิ่งนี้ว่าเป็นต้นไม้ / กราฟที่ดี และฉันยังไม่รู้ว่าฉันจะได้กราฟที่สมบูรณ์และถูกต้องหรือไม่
ความต้องการ
มันจะดีที่จะ จำกัด กราฟในบางวิธี (ไม่มีกฎบิวด์อิน, เฉพาะเป้าหมายที่กำหนด, เพียงบางส่วนเท่านั้น) แต่ส่วนใหญ่ฉันแค่มองหาเครื่องมือที่จะให้การพึ่งพาฉันใน "เหตุผล" มนุษย์ รูปแบบที่ดูได้ (เช่นโปรแกรมภายใต้ "Similar" do)
คำถาม
- มีโปรแกรมใดบ้างที่สามารถทำได้
- ฉันจะได้รับข้อมูลที่ครบถ้วนและถูกต้อง
make -dnq ...
หรือไม่ - มีวิธีที่ดีกว่าในการรับข้อมูลนี้หรือไม่?
- สคริปต์ / ความพยายามแยกวิเคราะห์ข้อมูลนี้มีอยู่แล้วหรือไม่?
printf 'A\n B\n D\n C\n D\n'
สำหรับคุณเช่นฉันจะดีกับการส่งออกของ (ใครบอกว่าผมไม่สามารถใส่บรรทัดใหม่ในความคิดเห็น :)?
dot
กราฟการสั่งซื้อที่เห็นได้ชัด) ฉันจะอัปเดตคำถามเล็กน้อยเพื่อให้ชัดเจนขึ้น (ฉันหวังว่า)