我在 debian 和 ubuntu 上交替开发我的 C++ 应用程序,并且 informix 数据库的库根目录在两个发行版上都不同。
在 Makefile 中处理它的好方法是什么,这样我就不必每次都手动更改它? 我想只测试目录是否存在,这样它比检查 uname 或 lsb-release 或主机名更通用。
条件赋值的语法是怎样的?我在 try#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;
最佳答案
但是如果你使用gnu make,你可以编写shell命令来测试你想要的任何东西,将结果分配给变量并使用ifeq
?
关于makefile - 在 Makefile 中,如果路径存在,则分配路径变量相关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4930570/