如何从命令行追加include makefile中定义的变量?

如何从命令行追加include makefile中定义的变量?,makefile,Makefile,我有一个makefile includelocal.mk,它定义了一个变量DEFS。我希望从命令中附加该变量 这是我试过的 local.mk: DEFS += -DVAR1 生成文件: DEFS ?= $(info ${DEFS}) include local.mk $(info ${DEFS}) test: echo ${DEFS} 当我跑步时: make DEFS+=-DVAR2 我希望得到-DVAR1-DVAR2,但我只得到-DVAR2 我怎样才能附加DEFS变量,而不是从

我有一个makefile include
local.mk
,它定义了一个变量
DEFS
。我希望从命令中附加该变量

这是我试过的

local.mk:

DEFS += -DVAR1
生成文件:

DEFS ?=
$(info ${DEFS})
include local.mk
$(info ${DEFS})

test:
    echo ${DEFS}
当我跑步时:

make DEFS+=-DVAR2
我希望得到
-DVAR1-DVAR2
,但我只得到
-DVAR2


我怎样才能附加
DEFS
变量,而不是从命令行重写它?

我觉得这应该可以按照您尝试的方式完成,但我现在很难在头脑中清楚地了解细节

也就是说,你可以这样做:

DEFS=-DVAR2 make
并得到你想要的(订单旁)

local.mk
中使用:

override DEFS += -DVAR1
override DEFS += -DVAR1