GNU makeファイルのif
ループ内の複数の条件を確認したい。例を示します。
ifeq ($(TEST_FLAG),TRUE && ($(DEBUG_FLAG),FALSE))
true statement
else
false statement
endif
それを行う正しい方法は何ですか?
値の連結でifeq
を使用できます。
ifeq ($(TEST_FLAG)$(DEBUG_FLAG),TRUEFALSE)
do something
endif
また、条件関数を使用することもできます。条件関数は、ループで役立つ可能性が高くなります(ifeq
はおそらくループで期待することをしないため、1回だけテストされます)。
Hasturkunのソリューションは機能しますが、これを書くための慣用的な方法は次のとおりです。
ifeq ($(TEST_FLAG),TRUE)
ifeq ($(DEBUG_FLAG),FALSE)
# Stuff
endif
endif