Есть ли простой способ найти исходный файл MK для конкретной цели? - PullRequest
0 голосов
/ 01 ноября 2019

Я использую среду, которая состоит из множества make-файлов, разбросанных по всей системе. Если мне задают конкретную цель, я бы хотел найти фактический make-файл, в котором определена эта цель, без ручного сканирования каждого файла в поисках операторов include. Имеет ли gnu-make какую-либо функциональность, которая может сообщить вам исходный файл цели? Или кто-нибудь написал сценарий для этого?

1 Ответ

0 голосов
/ 04 ноября 2019

Я не знаю, что вы подразумеваете под «поиском включаемых операторов», чтобы определить make-файл, в котором делается конкретная цель. Кроме того, это зависит от того, заданы ли цели явно или используется шаблонное правило. В последнем случае может оказаться невозможным найти соответствующий make-файл, так как необязательно будет какое-либо соединение вплоть до вызова make между целью и ее предварительными условиями - такими вещами, как VPATH или делегированием суб-make-файла с изменениемрабочий каталог, поиск источников вручную (за wildcard) может влиять на то, какие цели и где сделаныТем не менее, большинство иерархий make-файлов не так сложно понять, иначе они бы никогда не попали туда. Вы можете попытаться найти имя цели в файле зависимостей. Другая возможность - сделать make --dry-run или даже make --always-make и посмотреть на вывод журнала.

...