覆盖 Makefile 命令行参数,用于`ifeq`

Overriding Makefile command line parameter, used in `ifeq`

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

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

override COMPILE=gcc 

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

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

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

删除 =gcc 后的尾随 space 后,一切正常。