如何检查包含的Makefile中变量的值?

时间:2018-07-31 19:07:40

标签: makefile

../ Makefile

BAR=sometext

Makefile

include ../Makefile

FOO=othertext

ifneq ($(BAR),)
FOOBAR=$(FOO) $(BAR)
else
FOOBAR=$(FOO)
endif

all:
        @echo $(FOOBAR)

这将打印"othertext",无论我是否在BAR中定义了../Makefile。这是为什么?如果我在本地定义了BAR,它将打印我想要的"othertext sometext"。但是在我的情况下,我只能使用include。

我已经尝试过使用$(value $(BAR)) $(strip $(BAR))等各种情况,但是我似乎无法使它按我的意愿工作。

1 个答案:

答案 0 :(得分:0)

您可以采用其他方法。在Makefile中:

FOO=othertext
BAR=$(FOO)

include ../Makefile

all:
    @echo $(BAR)

../Makefile

BAR+=sometext