检查makefile中是否设置了环境变量

检查makefile中是否设置了环境变量,makefile,Makefile,我在MAKEFILE中有以下代码,使用此代码,我希望根据是否设置了标志来打印信息 ifeq ($(SET_FLAG),) $(info ********not set************) else $(info *******set *********) endif 然而,这给我的输出是 ********not set************ 在终端上时,我执行设置ENV SET_标志 还有这个 *******set ********* 当我执行setenv SET_标志1 然而,我

我在
MAKEFILE
中有以下代码,使用此代码,我希望根据是否设置了标志来打印信息

ifeq ($(SET_FLAG),)
$(info ********not set************)
else
$(info *******set *********)
endif
然而,这给我的输出是

********not set************
在终端上时,我执行设置ENV SET_标志

还有这个

*******set *********
当我执行
setenv SET_标志1

然而,我只想测试是否设置了
SET\u标志
,无论是否提供值。 有没有什么方法可以让它给出上面的输出

*******set *********

即使我使用了
setenv SET\u FLAG

如果您使用的是GNU Make,您也可以使用类似

ifeq($(origin SET_FLAG),undefined)
    $(info not set)
else
    $(info set)
endif
或多或少地抄袭


另外,
setenv
表明您正在使用
t?csh
。使用标准的、与伯恩兼容的shell(如果只是在您的问题的上下文中)可能会帮助您及时获得正确的答案。

这是一个由于缺乏正确的标点而难以阅读的问题的很好的例子。