请相信我:我进行了大量的搜索和测试,但我不知道问题出在哪里:
VERSION := 123
all:
ifndef VERSION
$(error VERSION not set)
else
$(info Start deploy $(VERSION))
endif
输出 版本未设置
我真正想要的是像这样调用make:VERSION=1.2.3 make
,但即使在Makefile中设置变量也不起作用。
我错过了什么?
对于我来说,它输出开始部署 123
。
请注意,ifndef
、$(error)
和$(info)
都是makefile语法的一部分,而不是属于all
目标的配方语法。因此,你的代码等同于:
VERSION := 123
ifndef VERSION
$(error VERSION not set)
else
$(info Start deploy $(VERSION))
endif