从命令行分配makefile变量

时间:2013-06-07 21:48:15

标签: command-line makefile

当我想从命令行将变量传递给make文件时,我会这样做:

make Variable="bla bla"

但如果我想添加变量怎么办?

我试过了:

make Variable+="bla bla"

它会生成编译器或链接器错误,就像我没有添加任何内容一样。任何方式?

1 个答案:

答案 0 :(得分:1)

只需始终使用VAR += word中的Makefile语法,而不是VAR = word。然后在命令行上,

 make VAR="bla bla"

VAR以“bla bla”开头,然后是Makefile中分配的剩余字词。

这假定您的make支持+=语法。

另一种方法是使用两个不同的变量, 比如VAR_CMDLINEVAR_MAKEMakefile你在哪里

 VAR_MAKE = whatever default value $(VAR_CMDLINE)
 all:
         echo $(VAR_MAKE)

并将其作为make VAR_CMDLINE="my additions"运行。这是POSIX便携式的。