我有一个包含local.mk
的makefile,用于定义变量DEFS
。我希望从命令中附加该变量。
这是我尝试过的。
local.mk:
DEFS += -DVAR1
生成文件:
DEFS ?=
$(info ${DEFS})
include local.mk
$(info ${DEFS})
test:
echo ${DEFS}
当我跑步时:
make DEFS+=-DVAR2
我希望得到-DVAR1 -DVAR2
,但我只有-DVAR2
。
如何附加DEFS
变量而不是从命令行覆盖它?
答案 0 :(得分:1)
我觉得应该按照你的方式做到这一点,但我现在无法直接了解细节。
据说你可以这样做:
DEFS=-DVAR2 make
得到你想要的东西(订购)
$ DEFS=-DVAR2 make -f start.mk
DEFS=-DVAR2
DEFS=-DVAR2 -DVAR1
echo '-DVAR2 -DVAR1'
-DVAR2 -DVAR1
答案 1 :(得分:1)
使用local.mk
中的override directive:
override DEFS += -DVAR1