在gnu make中,我可以使用+=
Makefile
运算符添加到变量
V += foo
V += bar
all:
echo "$(V)"
运行:
$ make
echo "foo bar"
foo bar
但是,如果我在命令行上定义变量,
$ make V=fail
echo "fail"
fail
然后没有添加任何东西。
如何让gnu make添加到命令行中定义的变量?
答案 0 :(得分:4)
命令行分配take precedence over in-makefile分配,即使in-makefile分配是追加操作。
要使in-makefile分配优先,您必须使用override
关键字:
override V += foo
override V += bar
all:
echo "$(V)"
答案 1 :(得分:2)