Vấn đề
Tôi muốn xem các phụ thuộc cho một hoặc nhiều mục tiêu của tệp thực hiện. Vì vậy, tôi đang tìm kiếm một chương trình có thể phân tích các tệp tạo tệp và sau đó sẽ biểu diễn các phụ thuộc theo một số định dạng giống như cây (thụt, ascii-art, ...) hoặc dưới dạng biểu đồ (dấu chấm, ...).
Giống
Có những chương trình làm điều này cho các tình huống khác:
- pactree hoặc owree có thể hiển thị các phụ thuộc cho các gói phần mềm ở định dạng tương ứng trong một cây như định dạng ascii hoặc dưới dạng
dot
biểu đồ, gcc -M source_file.c
hiển thị các phụ thuộc của tệp nguồn C dưới dạng quy tắc,- pstree hiển thị một đại diện ascii của cây quy trình.
Phát triển
Tìm kiếm trên web tôi tìm thấy rất ít sự giúp đỡ . Điều đó dẫn tôi đến thử
make --always-make --silent --dry-run some_target | \
grep --extended-regexp 'Considering target file|Trying rule prerequisite'
nhưng có vẻ như tôi phải hack thêm một số mã phân tích cú pháp trong perl hoặc python để thể hiện điều này như một cây / biểu đồ đẹp. Và tôi vẫn chưa biết liệu tôi có thực sự có được biểu đồ đầy đủ và chính xác theo cách này không.
Yêu cầu
Sẽ rất tốt nếu giới hạn đồ thị theo một số cách (không có quy tắc dựng sẵn, chỉ một mục tiêu nhất định, chỉ một số độ sâu) nhưng đối với hầu hết tôi chỉ tìm kiếm một công cụ sẽ cung cấp cho tôi các phụ thuộc trong một số "hợp lý", con người định dạng có thể xem được (như các chương trình trong "Tương tự" làm).
Câu hỏi
- Có chương trình nào có thể làm điều này?
- Tôi sẽ nhận được thông tin đầy đủ và chính xác từ
make -dnq ...
? - Có cách nào tốt hơn để có được thông tin này?
- Các kịch bản / nỗ lực để phân tích thông tin này đã tồn tại?
printf 'A\n B\n D\n C\n D\n'
. (Ai nói tôi không thể đưa dòng mới vào bình luận? :)
dot
đồ thị đơn hàng rõ ràng là tốt.) Tôi sẽ cập nhật câu hỏi một chút để làm cho nó rõ ràng hơn (tôi hy vọng).