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