Проблема
Я хочу побачити залежності для однієї або декількох цілей makefile. Тому я шукаю програму, яка зможе проаналізувати makefiles, а потім представлятиме залежності в якомусь дерев’яному форматі (відступ, ascii-art, ...) або у вигляді графіка (крапка, ...).
Подібні
Є програми, які роблять це для інших ситуацій:
- pactree або борговий кредит може відображати залежності для програмних пакетів у відповідному форматі у дереві, як формат ascii або у вигляді
dot
графіка, gcc -M source_file.c
відображає залежності вихідного файлу С як правило формування,- pstree відображає ascii подання дерева процесу.
Прогрес
У пошуку в Інтернеті я знайшов незначну допомогу . Це привело мене до спробу
make --always-make --silent --dry-run some_target | \
grep --extended-regexp 'Considering target file|Trying rule prerequisite'
але схоже, що я маю зламати ще якийсь код розбору в perl або python, щоб представити це як гарне дерево / графік. І я ще не знаю, чи дійсно отримаю повний і правильний графік таким чином.
Вимоги
Було б непогано обмежити графік якимось чином (ніяке вбудоване правило, лише задана ціль, лише деяка глибина), але здебільшого я просто шукаю інструмент, який дасть мені залежність у якомусь "розумному", людському -видимий формат (як програми у розділі "Подібні" робити).
Запитання
- Чи є програми, які можуть це зробити?
- Чи отримаю я повну та правильну інформацію
make -dnq ...
? - Чи є кращий спосіб отримати цю інформацію?
- Чи існують сценарії / спроби розбору цієї інформації?
printf 'A\n B\n D\n C\n D\n'
. (Хто сказав, що я не можу ставити нові рядки в коментарі? :)
dot
графіки замовлень, очевидно, добре). Я трохи оновлю питання, щоб зробити його більш зрозумілим (сподіваюся).