2
我在debian和ubuntu上交替開發我的C++應用程序,並且informix數據庫的庫根目錄在兩個發行版上都不相同。如果路徑存在,則在Makefile中分配路徑變量
什麼是在Makefile中處理它的好方法,所以我不必每次都手動更改它? 我以爲只是測試目錄的存在,所以它更一般,然後檢查uname或lsb-release或主機名。
如何在條件中分配語法?我得到嘗試#2
// prepare
INFORMIXDIR_DEB=/usr/informix
INFORMIXDIR_UBU=/opt/IBM/informix
// tried #1
$(INFORMIXDIR_DEB):
if [ -d $(INFORMIXDIR_DEB) ]; then INFORMIXDIR=$INFORMIXDIR_DEB; fi;
// tried #2
$(INFORMIXDIR_DEB):
INFORMIXDIR=$(INFORMIXDIR_DEB)
// tried #3
if [ -d $(INFORMIXDIR_UBU) ] ;
then INFORMIXDIR=$INFORMIXDIR_UBU;
fi;
更準確:「將結果賦值給變量」?如何在測試條件之後編寫? – groovehunter
@groovehunter:$(shell)的東西。查看gmake手冊獲取完整的信息。我的意思是像完整的邏輯交給shell:$(shell test -d blabla && echo blablaexists)。 – 2011-02-08 11:08:37
好吧,現在我明白了。 'INFORMIXDIR = $(shell test -d/opt/IBM/informix && echo/opt/IBM/informix)' 「shell」之前沒有空格! :) – groovehunter