Как я могу заставить gmake давать мне список всех включенных make-файлов?

Неустанным TCP был бы самый неустанный TCP, который Вы могли получить.

7
26.06.2014, 23:48
4 ответа
[

] Кажется, что []make[] не предоставляет никакого простого способа сделать это, но, возможно, вам будет достаточно, чтобы вы grep всех []include[] директив из всех makefiles, подобных этому: [

] [
find . -iname 'Makefile' -print0 | xargs -0 grep '^include'
]
0
27.01.2020, 20:19

Ремейк имеет очень интересные отладочные данные.

1
27.01.2020, 20:19

Не уверен, работает ли это рекурсивно, но как насчет чего-то вроде:

strace -e trace=open make | grep -i makefile
1
27.01.2020, 20:19

То, что вы ищете, является эквивалентом , cc-E для делает . Я не знаю о таком эквиваленте. Используя внешние инструменты поможет во многих, но не всех чехлах, из-за вторичное расширение .

, Но возможно это могло бы получить вас один шаг ближе. В конце начального Make-файла добавьте это правило:

.PHONY: printMakefiles
printMakefiles:
        echo $(MAKEFILE_LIST)

можно теперь узнать, какие Make-файлы были включены путем выполнения

make printMakefiles

Обратите внимание на то, что, это не на 100% надежно, поскольку могло быть условное выражение, включают.

0
27.01.2020, 20:19

Теги

Похожие вопросы