我想在GNU make文件的if
循环中检查多个条件。这是一个例子:
ifeq ($(TEST_FLAG),TRUE && ($(DEBUG_FLAG),FALSE))
true statement
else
false statement
endif
这样做的正确方法是什么?
答案 0 :(得分:28)
您可以将ifeq
与值结合使用,例如
ifeq ($(TEST_FLAG)$(DEBUG_FLAG),TRUEFALSE)
do something
endif
也可以使用条件函数,它们更有可能在循环中有用(因为ifeq
可能不会在循环中执行您所期望的操作,它将被测试一次)。
答案 1 :(得分:24)
虽然Hasturkun的解决方案可行,但我认为写这个的惯用方法是:
ifeq ($(TEST_FLAG),TRUE)
ifeq ($(DEBUG_FLAG),FALSE)
# Stuff
endif
endif