我在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;
答案 0 :(得分:3)
但是如果你使用gnu make,你可以编写shell命令来测试你想要的任何东西,将结果分配给变量并使用ifeq
?