制造失败(gmake)

时间:2014-10-28 18:40:32

标签: makefile gnu-make

我的GNU Makefile中有一堆变量,用户可能会改变它们的值。我希望Makefile在开始执行之前失败,如果其中一些值没有任何意义的话。

例如:

FOODIR=foo
BARDIR=bar

没问题,但是如果用户将其设置为

FOODIR=foo
BARDIR=foo

我希望Makefile失败。我正在寻找正确的语法来做到这一点。类似的东西:

ifeq ($(FOODIR),$(BARDIR))
    exit 1;
endif

但这不起作用。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:3)

Makefile不是shell脚本;你不能使用像exit这样的shell命令。

你可以使用一个GNU make函数$(error ...)(如果你的GNU make已经足够了):

ifeq ($(FOODIR),$(BARDIR))
    $(error FOODIR is the same as BARDIR: $(FOODIR))
endif