我想检查GNU make文件的if
循环中的多个条件。这里有一个例子:Makefile ifeq logical AND
ifeq ($(TEST_FLAG),TRUE && ($(DEBUG_FLAG),FALSE))
true statement
else
false statement
endif
什么是正确的做法呢?
我想检查GNU make文件的if
循环中的多个条件。这里有一个例子:Makefile ifeq logical AND
ifeq ($(TEST_FLAG),TRUE && ($(DEBUG_FLAG),FALSE))
true statement
else
false statement
endif
什么是正确的做法呢?
您可以使用ifeq
与您的值串联,例如。
ifeq ($(TEST_FLAG)$(DEBUG_FLAG),TRUEFALSE)
do something
endif
它也可以使用条件的功能,这是更可能是在一个循环中有用(如ifeq
可能不会做,你在一个循环中会发生什么,它会准确地测试一次)。
虽然Hasturkun的解决方案将工作,我觉得写这个的惯用方法是:
ifeq ($(TEST_FLAG),TRUE)
ifeq ($(DEBUG_FLAG),FALSE)
# Stuff
endif
endif
你应该在其他部分,以便执行虚假陈述 –
ifeq(ifeq())ifeq()... endif else ifeq()... endif .. ifeq endif'。我得到错误无关'其他'。 – NickSoft
如果我想使用或? –
我觉得之前'TRUEFALSE' _breaks_支票上的领先空间,而且永远也不会工作,因为'ifeq'非常敏感关于领先的空间。你可以检查它,如果我是正确的编辑你的答案? –
@AlBundy:删除空格,谢谢。 – Hasturkun