Как сохранить аргумент make в переменной - PullRequest
1 голос
/ 08 октября 2019

Я работаю над (GNU) Makefile и мне нужно сохранить аргументы в переменной. Например, если я дам команду make projectX, мне нужно присвоить projectX какой-либо переменной.

Я попытался присвоить projectX, как это, предполагая, что аргумент 1 будет projectX.

PRODUCT := "$1"

Но это не работает.

Каков наилучший способ назначения аргументов make в переменной?

Ответы [ 2 ]

2 голосов
/ 08 октября 2019

Из GNU make manual :

Make установит специальную переменную MAKECMDGOALS в список целей, которые вы указали в командной строке. Если в командной строке не было задано ни одной цели, эта переменная пуста. Обратите внимание, что эта переменная должна использоваться только в особых случаях.

И обратите внимание, что обычно вы должны / должны / должны использовать $@ для ссылки на цель правила.

1 голос
/ 09 октября 2019

Вы также можете назначить переменные в make командной строке:

make PRODUCT=bla

, которая часто используется для сборок отладки / выпуска :

make # builds debug version
make MODE=release # builds release version
...