重写Makefile命令行参数,用于`ifeq`

时间:2015-09-19 20:27:37

标签: makefile conditional

我的Makefile可选地接收一个名为COMPILE的命令行参数,我想在Makefile脚本本身上覆盖它。

根据this,我尝试过:override COMPILE=gcc 但是,在COMPILE条件下使用ifeq并设置COMPILE这种方式不会影响评估条件时的第一个Make传递。

override COMPILE=gcc 

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

有没有办法正确覆盖条件中使用的Make参数?

1 个答案:

答案 0 :(得分:3)

@Chnossos回答给了我线索 - 寻找空白
问题不在于" ifeq ($(COMPILE), gcc)"中的空格,而在" override COMPILE=gcc_"的尾随空格中。 (下划线表示空间的位置)。

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

相关问题