Переменные make-файла из командной строки и среды - PullRequest
5 голосов
/ 21 октября 2009

Есть ли способ определить, была ли установлена ​​переменная из среды по сравнению с командной строкой?

Я бы хотел провести различие между кем-то, кто вызывает make с make LIB=mylib, а не с make и $ LIB.

Ответы [ 2 ]

5 голосов
/ 21 октября 2009

Да. Вы можете использовать функцию origin , чтобы определить, где была определена переменная.

ifneq (,$(findstring environment,$(origin LIB)))
    # LIB was defined by the environment
else
    # LIB was defined some other way
endif
0 голосов
/ 27 мая 2012

С не-Gnu make вы можете запустить команду export и grep для рассматриваемой переменной. Это работает только в правилах и только до тех пор, пока переменная не установлена ​​как однократная (как в LIB=foo make).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...