1
Есть ли способ спросить GNU, почему он считает, что ему нужно переделать определенную цель?Узнайте, почему GNU делает римейки конкретным файлом
Есть ли способ спросить GNU, почему он считает, что ему нужно переделать определенную цель?Узнайте, почему GNU делает римейки конкретным файлом
Использование make -d
или make --debug=b
(а затем провести остаток дня идет через выход!)
Выведется например,
...
Prerequisite `foo.o' is newer than target `libfoo.a'.
Must remake target `libfoo.a'.
Invoking recipe from Makefile:516 to update target `libfoo.a'.
...
Смотрите страницу человека для других вариантов к коммутатору --debug
.
Если у вас есть достаточно новый GNU make, вы можете использовать флаг '--trace', который дает краткую информацию о том, почему выполняется правило, и где в make-файле было определено правило. – MadScientist
Действительно ли это единственный способ сделать это? Я боялся, что это возможно, но я надеялся, что мне удастся пробраться через выход опции «-d» (к сожалению, у меня нет «-trace»). –
'--debug = b' выдает значительно меньше, чем' -d', и вы можете просто отправить вывод на пейджер и искать цель, о которой вы заботитесь –