2015-05-18 30 views
1

我想在Makefile.am如果條件不成立提示。 我試圖爲:回聲在makefile.am如果循環

if FOUND_MAKEDEPF90 
<compilation condition if true> 
else 
@echo "Create the dependencies Manually\n" 
@echo "e.g. ./src/main.o:./src/main.f90" 
endif 

真正的分支工作正常,但是,在運行else分支,我得到錯誤:

*** missing separator. Stop. 

它是不是有效的把回聲聲明循環? 這裏怎麼回事?有什麼想法嗎?

我使用:

$ make --version 
GNU Make 4.0 
Built for x86_64-redhat-linux-gnu 

回答

2

你沒有一個循環這裏。你有一個make level if語句,是的,echo是一個shell命令,不能在makefile的頂層。

如果你只是想顯示一條信息(在make運行時間)如果條件不滿足,那麼你可以使用make $(info)函數(或$(warning)$(error)導致做出一個錯誤退出)。

+1

'$(info要顯示的文本)'等。請參見[控制Make的函數](http://www.gnu.org/software/make/manual/make.html#Make-Control-Functions) 。 –