Как узнать определение переменной MAKE - PullRequest
0 голосов
/ 22 ноября 2018

Давно не пользовался make.Но только что получил проект от 10-летнего компилятора с использованием Ubuntu.

Я смотрю на make-файл и пытаюсь выяснить, какой компилятор он использует.${MAKE} используется в файле.Но где я могу узнать определение MAKE.Спасибо

1 Ответ

0 голосов
/ 22 ноября 2018

Вы можете просто использовать встроенные функции info и value внутри вашего make-файла:

$(info MAKE: $(value MAKE))

Это будет работать, если MAKE является рекурсивно расширенной переменной , которая по умолчанию.В противном случае, если MAKE была просто расширенной переменной , вы увидите расширение, которое было выполнено в момент оценки определения MAKE (т. Е. Такое же, как $(MAKE)).


Лучшим подходом, который не зависит от вида переменной, было бы запустить make с параметром -p и посмотреть определение MAKE, например:

make -p | grep 'MAKE ='

Вы, вероятно, обнаружите, что MAKE определяется как:

MAKE = $(MAKE_COMMAND)

и MAKE_COMMAND, что является другой переменной (на этот раз просто расширенной), можетв свою очередь определяется как:

MAKE_COMMAND := make
...