проблема
Я хочу увидеть зависимости для одной или нескольких целей make-файла. Поэтому я ищу программу, которая может анализировать make-файлы и затем представлять зависимости в некотором древовидном формате (отступ, ascii-art, ...) или в виде графика (точка, ...).
Аналогичный
Есть программы, которые делают это для других ситуаций:
- pactree или debtree могут отображать зависимости для пакетов программного обеспечения в соответствующем формате в виде дерева, такого как формат ascii или в виде
dot
графика, gcc -M source_file.c
отображает зависимости исходного файла C как правило make,- 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
графики заказов явно хороши.) Я немного обновлю вопрос, чтобы прояснить его (я надеюсь).