Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果路径存在,则在Makefile中指定路径变量 我在Debian和Ubuntu上交替开发了C++应用程序,Informix数据库的根目录DIR在两个发行版上都不同。_Makefile_Conditional_Variable Assignment - Fatal编程技术网

如果路径存在,则在Makefile中指定路径变量 我在Debian和Ubuntu上交替开发了C++应用程序,Informix数据库的根目录DIR在两个发行版上都不同。

如果路径存在,则在Makefile中指定路径变量 我在Debian和Ubuntu上交替开发了C++应用程序,Informix数据库的根目录DIR在两个发行版上都不同。,makefile,conditional,variable-assignment,Makefile,Conditional,Variable Assignment,在Makefile中处理它的好方法是什么,这样我就不必每次手动更改它了? 我只想测试目录的存在性,这样它比检查uname、lsb版本或主机名更通用 在条件中赋值的语法是什么?我在try#2上出现“缺少分隔符”错误 但是如果您使用gnu make,您可以编写shell命令来测试您想要的任何东西,将结果分配给变量,并使用ifeq?更准确地说:“将结果分配给变量”?如何在测试条件之后编写它?@groovehunter:$(shell)东西。查看gmake手册以了解完整信息。我指的是交给shell的完整

在Makefile中处理它的好方法是什么,这样我就不必每次手动更改它了? 我只想测试目录的存在性,这样它比检查uname、lsb版本或主机名更通用

在条件中赋值的语法是什么?我在try#2上出现“缺少分隔符”错误


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

更准确地说:“将结果分配给变量”?如何在测试条件之后编写它?@groovehunter:$(shell)东西。查看gmake手册以了解完整信息。我指的是交给shell的完整逻辑:$(shell test-d blablabla&&echo blablaexists)。现在我明白了
INFORMIXDIR=$(shell测试-d/opt/IBM/informix&&echo/opt/IBM/informix)
shell前面没有空格!:)跟进。。。
// 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;