Command line 从命令行分配makefile变量
当我想从命令行向make文件传递变量时,我会执行如下操作:Command line 从命令行分配makefile变量,command-line,makefile,Command Line,Makefile,当我想从命令行向make文件传递变量时,我会执行如下操作: make Variable="bla bla" 但是如果我想添加到一个变量呢 我试过这个: make Variable+="bla bla" 它会生成编译器或链接器错误,就好像我没有添加任何内容一样。任何解决方法?只要在Makefile中始终使用VAR+=word语法,而不是VAR=word。然后在命令行上 make VAR="bla bla" 使VAR以“bla-bla”开头,后跟Makefile中分配的剩余单词 这假设您的m
make Variable="bla bla"
但是如果我想添加到一个变量呢
我试过这个:
make Variable+="bla bla"
它会生成编译器或链接器错误,就好像我没有添加任何内容一样。任何解决方法?只要在Makefile
中始终使用VAR+=word
语法,而不是VAR=word
。然后在命令行上
make VAR="bla bla"
使VAR
以“bla-bla”开头,后跟Makefile
中分配的剩余单词
这假设您的make
支持+=
语法
另一种方法是使用两个不同的变量,
比如说,VAR\u CMDLINE
和VAR\u MAKE
,在Makefile
中
VAR_MAKE = whatever default value $(VAR_CMDLINE)
all:
echo $(VAR_MAKE)
并将其作为
make VAR\u CMDLINE=“my additions”
运行。这是一款非常便于携带的手机。lol太棒了。看起来我的make不支持+=但是,它不起作用。如何确定它是否支持?那么我建议您安装GNU make(又名gmake)。它具有您可能需要的所有功能,还有一些。使用+=
将无法工作。命令行上的赋值优先级高于makefile中的赋值,并将完全覆盖它。有很多方法可以解决这个问题,但它并不令人愉快,而且绝对不便于携带。第二个建议是正确的。谢谢,我“删除”了那部分。