Не то, чтобы я знал. Самое близкое, что вы можете получить к этому, - это результат от make -qp
(или аналогичного), который будет выгружать базу данных make у вас.
Часть проблемы с этим запросом заключается в том, что многие из подстановок/и т. Д. происходят по мере того, как цели обрабатываются, и список целей не обязательно известен без фактической попытки сборки (по крайней мере, до некоторой степени), поэтому необязательно полностью расширять/etc. makefile на месте.
Выход make -d
также полезен для конкретной случайной информации, связанной с тем, как make обработал make-файлы, но не содержит содержимое makefile напрямую.
Remake также может предоставить дополнительную полезную информацию.
Если вы ищете вычисленную стоимость некоторых собранных/и т. Д. глобальная переменная make, то this Запись в блоге Эрика Мельски, вероятно, будет очень полезна.
tl; dr Он добавляет цель, подобную этой, в Makefile (хотя в блоге больше волшебства, поэтому я предлагаю прочитать его).
print-%:
@echo '$*=$($*)'
@echo ' origin = $(origin $*)'
@echo ' flavor = $(flavor $*)'
@echo ' value = $(value $*)'
Хотя в личном пользовании я заменил эту первую строчку с чем-то больше, как это
@echo '$*=$(subst ','\'',$($*))'
держать цитирование результат правильной.
Не является ли 'make -n' полезным в этом контексте? –
@EugeniuRosca - похоже, этот вариант не создает результат, который я ищу. – ysap