在Makefile中,如果路径存在,则分配路径变量

时间:2011-02-08 07:25:07

标签: makefile conditional variable-assignment

我在debian和ubuntu上交替开发我的c ++应用程序,而且两个发行版的informix数据库的库根目录不同。

在Makefile中处理它的好方法是什么,所以我不必每次都手动更改它? 我想过只测试目录的存在,所以它比检查uname或lsb-release或hostname更通用。

在条件中分配的语法如何?我在试用#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;

1 个答案:

答案 0 :(得分:3)

但是如果你使用gnu make,你可以编写shell命令来测试你想要的任何东西,将结果分配给变量并使用ifeq