Makefile目标中的ifndef变量

时间:2018-11-28 13:44:27

标签: makefile gnu-make

请相信我:我进行了很多搜索和测试...但是在这里我没有发现错误:

VERSION := 123

all:
    ifndef VERSION
        $(error VERSION not set)
    else
        $(info Start deploy $(VERSION))
    endif

输出VERSION not set

我真正想要的是像VERSION=1.2.3 make那样调用make,但是甚至没有在Makefile中设置变量起作用

我想念什么?

1 个答案:

答案 0 :(得分:0)

对我来说,它输出Start deploy 123

请注意,ifndef$(error)$(info)是makefile语法的一部分,而不是属于all目标的配方语法。因此,您的代码等效于:

VERSION := 123
ifndef VERSION
$(error VERSION not set)
else
$(info Start deploy $(VERSION))
endif