我想檢查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