我在MAKEFILE
中有以下代码,使用此代码,我想根据是否设置标志打印信息
ifeq ($(SET_FLAG),)
$(info ********not set************)
else
$(info *******set *********)
endif
然而,这给了我输出
********not set************
在终端上我做setenv SET_FLAG
和这个
*******set *********
当我做setenv SET_FLAG 1
但是,我想仅在设置SET_FLAG
时进行测试,无论是否提供值。
有没有什么方法可以让上面的输出为
*******set *********
即使我做setenv SET_FLAG
答案 0 :(得分:1)
如果您使用的是GNU Make,则可以使用
等解决方法ifeq($(origin SET_FLAG),undefined)
$(info not set)
else
$(info set)
endif
或多或少来自http://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_6.html
另外,setenv
表示您使用的是t?csh
。使用标准的Bourne兼容shell(如果仅在您的问题的上下文中)可能会帮助您获得及时和正确的答案。