当我想从命令行将变量传递给make文件时,我会这样做:
make Variable="bla bla"
但是如果我想添加一个变量呢?
我试过这个:
make Variable+="bla bla"
它会生成编译器或链接器错误,就好像我没有添加任何东西一样。有什么办法吗?
当我想从命令行将变量传递给make文件时,我会这样做:
make Variable="bla bla"
但是如果我想添加一个变量呢?
我试过这个:
make Variable+="bla bla"
它会生成编译器或链接器错误,就好像我没有添加任何东西一样。有什么办法吗?
只需始终使用VAR += word
您的语法Makefile
,而不是VAR = word
. 然后在命令行上,
make VAR="bla bla"
以“bla bla”开头,VAR
后跟在Makefile
.
这假设您make
支持+=
语法。
另一种方法是使用两个不同的变量,比如VAR_CMDLINE
和VAR_MAKE
,Makefile
你在哪里
VAR_MAKE = whatever default value $(VAR_CMDLINE)
all:
echo $(VAR_MAKE)
并将其作为make VAR_CMDLINE="my additions"
. 这是 POSIXly 可移植的。