当我想从命令行将变量传递给make文件时,我会这样做:
make Variable="bla bla"
但如果我想添加变量怎么办?
我试过了:
make Variable+="bla bla"
它会生成编译器或链接器错误,就像我没有添加任何内容一样。任何方式?
答案 0 :(得分:1)
只需始终使用 VAR += word
中的Makefile
语法,而不是VAR = word
。然后在命令行上,
make VAR="bla bla"
让VAR
以“bla bla”开头,然后是Makefile
中分配的剩余字词。
这假定您的 make
支持+=
语法。
另一种方法是使用两个不同的变量,
比如VAR_CMDLINE
和VAR_MAKE
,Makefile
你在哪里
VAR_MAKE = whatever default value $(VAR_CMDLINE)
all:
echo $(VAR_MAKE)
并将其作为make VAR_CMDLINE="my additions"
运行。这是POSIX便携式的。