如何在命令行中附加包含makefile中定义的变量?

时间:2015-08-31 23:44:13

标签: makefile

我有一个包含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变量而不是从命令行覆盖它?

2 个答案:

答案 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