Как использовать множественное условие в выражении "ifeq"
Я хотел бы проверить несколько условий в цикле if
файла make файла GNU. Вот пример:
ifeq ($(TEST_FLAG),TRUE && ($(DEBUG_FLAG),FALSE))
true statement
else
false statement
endif
Какой правильный способ сделать это?
Ответы
Ответ 1
Вы можете использовать ifeq
с конкатенацией ваших значений, например.
ifeq ($(TEST_FLAG)$(DEBUG_FLAG),TRUEFALSE)
do something
endif
Также возможно использовать условные функции, которые, скорее всего, будут полезны в цикле (поскольку ifeq
, вероятно, не сделает то, что вы ожидаете в цикле, он будет протестирован ровно один раз).
Ответ 2
Хотя решение Hasturkun будет работать, я думаю, что идиоматический способ написать это:
ifeq ($(TEST_FLAG),TRUE)
ifeq ($(DEBUG_FLAG),FALSE)
# Stuff
endif
endif