首页 > 解决方案 > Makefile 条件变量赋值

问题描述

我希望制定以下目标:

ifeq ("$(VARENV1)", "true")
    VARENV3=$(VARENV2)
endif

dummy:
    echo $(VARENV3)

然后我打电话给我的makefile

VARENV1=true VARENV2=test make dummy

期望得到“测试”的显示。

但是这个失败VARENV3是空的。

但是,如果我使用以下生成文件:

ANYVARNAME=ANYVALUE
ifeq ("$(VARENV1)", "true")
    VARENV3=$(VARENV2)
endif

dummy:
    echo $(VARENV3)

目的是在某些情况下用 VARENV2 覆盖 VARENV3。

然后我会正确显示“测试”。

我有点困惑为什么,有什么线索吗?

标签: makefile

解决方案


推荐阅读