unix Makefile ifeq logical AND

chy5wohz  于 4个月前  发布在  Unix
关注(0)|答案(3)|浏览(38)

我想在GNU make文件的if循环中检查多个条件。下面是一个例子:

ifeq ($(TEST_FLAG),TRUE && ($(DEBUG_FLAG),FALSE))
true statement 
else 
false statement
endif

字符串
怎么做才对?

gwo2fgha

gwo2fgha1#

虽然Hasturkun的解决方案将工作,我认为习惯的方式来写这是:

ifeq ($(TEST_FLAG),TRUE)
ifeq ($(DEBUG_FLAG),FALSE)
# Stuff
endif
endif

字符串

k4ymrczo

k4ymrczo2#

您可以将ifeq与您的值串联使用,例如。

ifeq ($(TEST_FLAG)$(DEBUG_FLAG),TRUEFALSE)
   do something
endif

字符串
也可以使用Conditional函数,它们在循环中更有用(因为ifeq可能不会在循环中执行您期望的操作,所以它只会被测试一次)。

slmsl1lt

slmsl1lt3#

你可以把false语句放在两个endif之后:

ifeq ($(TEST_FLAG),TRUE)
ifeq ($(DEBUG_FLAG),FALSE)
true statement 
endif
endif
false statement

字符串

相关问题