В оболочке, когда я вхожу
echo $demoPath
это печатает
/usr/local/demo
Как я могу получить значение этой переменной $demoPath
в make-файле?
Если вы экспортировали переменную среды:
export demoPath=/usr/local/demo
вы можете просто сослаться на него по имени в makefile
( make
импортирует все заданные вами переменные среды):
DEMOPATH = ${demoPath} # Or $(demoPath) if you prefer.
Если вы не экспортировали переменную среды, она будет недоступна, пока вы ее не экспортируете или если вы не передадите ее явно в командной строке:
make DEMOPATH="${demoPath}" …
Если вы используете производную C оболочки, замену setenv demoPath /usr/local/demo
для export
команды.
demoPath=/usr/local/demo make
. Вы можете проверить это и, возможно, обновить свой ответ. Ура!для тех, кому нужен официальный документ, подтверждающий поведение
https://www.gnu.org/software/make/manual/html_node/Environment.html
источник
Или измените PATH только для одной команды:
источник