Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/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命令行参数,在`ifeq'中使用`_Makefile_Conditional - Fatal编程技术网

重写Makefile命令行参数,在`ifeq'中使用`

重写Makefile命令行参数,在`ifeq'中使用`,makefile,conditional,Makefile,Conditional,我的Makefile可以选择接收名为COMPILE的命令行参数,我希望在Makefile脚本本身上覆盖该参数 根据,我尝试过:override COMPILE=gcc 但是,COMPILE用于ifeq的条件,并且设置COMPILE这种方式不会影响计算条件时的第一次通过 override COMPILE=gcc ifeq ($(COMPILE), gcc) ... I never get here... else ... Always here ... endif 有没有一种

我的Makefile可以选择接收名为
COMPILE
的命令行参数,我希望在Makefile脚本本身上覆盖该参数

根据,我尝试过:
override COMPILE=gcc

但是,
COMPILE
用于
ifeq
的条件,并且设置
COMPILE
这种方式不会影响计算条件时的第一次通过

override COMPILE=gcc 

ifeq ($(COMPILE), gcc)
    ... I never get here...
else
    ... Always here ...
endif

有没有一种方法可以正确覆盖条件句中使用的Make参数?

@Chnossos-answer给了我一个线索-查找空格
问题不在于“
ifeq($(COMPILE),gcc)
”中的空格,而在于“
override COMPILE=gcc
”上的尾随空格。(下划线表示空间所在的位置)


删除
=gcc
之后的尾随空格后,一切都按预期进行。

@Chnossos-answer给了我线索-查找空格
问题不在于“
ifeq($(COMPILE),gcc)
”中的空格,而在于“
override COMPILE=gcc
”上的尾随空格。(下划线表示空间所在的位置)


删除
=gcc
之后的尾随空格后,一切都按预期进行。

@Chnossos-answer给了我线索-查找空格
问题不在于“
ifeq($(COMPILE),gcc)
”中的空格,而在于“
override COMPILE=gcc
”上的尾随空格。(下划线表示空间所在的位置)


删除
=gcc
之后的尾随空格后,一切都按预期进行。

@Chnossos-answer给了我线索-查找空格
问题不在于“
ifeq($(COMPILE),gcc)
”中的空格,而在于“
override COMPILE=gcc
”上的尾随空格。(下划线表示空间所在的位置)


删除
=gcc
之后的尾随空格后,一切都按预期进行。

对我来说很有效。不带
覆盖
指令的事件。您使用的是哪个版本的Make?如果你是硬编码
编译
,为什么你要把它作为条件呢?对我来说很有用。不带
覆盖
指令的事件。您使用的是哪个版本的Make?如果你是硬编码
编译
,为什么你要把它作为条件呢?对我来说很有用。不带
覆盖
指令的事件。您使用的是哪个版本的Make?如果你是硬编码
编译
,为什么你要把它作为条件呢?对我来说很有用。不带
覆盖
指令的事件。您使用的是哪个版本的Make?如果你是硬编码
编译
,为什么你要把它作为条件呢?