87

我想在使用makefile. 下面的可以打印消息,但不会执行后面的脚本。我该如何解决这个问题?

ifeq (yes, ${TEST})
        CXXFLAGS := ${CXXFLAGS} -DDESKTOP_TEST
test:
        @echo '************  TEST VERSION ************'
else
release:
        @echo "************ RELEASE VERSIOIN **********"
endif
4

2 回答 2

110

不清楚你想要什么,或者你是否希望这个技巧适用于不同的目标,或者你是否在其他地方定义了这些目标,或者你正在使用什么版本的 Make,但到底是什么,我会继续肢体:

ifeq (yes, ${TEST})
CXXFLAGS := ${CXXFLAGS} -DDESKTOP_TEST
test:
$(info ************  TEST VERSION ************)
else
release:
$(info ************ RELEASE VERSIOIN **********)
endif
于 2012-08-02T11:07:25.140 回答
88

$(info your_text) :信息。这不会停止执行。

$(warning your_text):警告。这会将文本显示为警告。

$(error your_text) :致命错误。这将停止执行。

源代码:https ://www.gnu.org/software/make/manual/make.html#Make-Control-Functions

于 2017-11-13T11:03:59.570 回答