2012-08-02 109 views
36

我想在使用makefile進行構建過程時打印一些消息。下面的一個可以打印該消息,但它不會在其後執行該腳本。我該如何解決這個問題?如何在Makefile中打印消息?

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

「後面的腳本」?什麼腳本? – Beta 2012-08-02 10:47:47

+1

@Beta他可能意味着該腳本不會在該行之後繼續。 – 2017-07-21 08:20:41

回答

54

目前尚不清楚你想要什麼,或者你是否希望這一招與不同的目標工作,或者你是否已經定義了這些目標的其他地方,或者是什麼版本的,你正在使用,但到底什麼做,我會出去肢體:

ifeq (yes, ${TEST}) 
CXXFLAGS := ${CXXFLAGS} -DDESKTOP_TEST 
test: 
$(info ************ TEST VERSION ************) 
else 
release: 
$(info ************ RELEASE VERSIOIN **********) 
endif 
+1

謝謝!我刪除測試:並釋放:,它的工作原理! – Dan 2012-08-03 06:55:31

6

$(info your_text):信息。這並不能阻止執行。 :

$(warning your_text):警告。這顯示文本爲警告。

$(error your_text):致命錯誤。這將停止執行。