当我想从命令行将变量传递给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 可移植的。