是否可以分配从命令行传递过来的变量?
我尝试了以下Makefile:
testvar := newassign
.PHONY: all
all:
@echo $(testvar)
如果我执行make
,则输出为预期的newassign
。但是,如果我执行make testvar=asd
,则输出为asd
,而我希望它也为newassign
。
我使用GNU Make 4.1。
答案 0 :(得分:1)
这显然是故意的。命令行选项始终优先于Makefile内部的分配。如果要强制分配,则可以使用override
。
override testvar := newassign
.PHONY: all
all:
@echo $(testvar)