Je voudrais vérifier plusieurs conditions dans une boucle if
de GNU make file. Voici un exemple:
ifeq ($(TEST_FLAG),TRUE && ($(DEBUG_FLAG),FALSE))
true statement
else
false statement
endif
Quelle est la bonne façon de procéder?
Vous pouvez utiliser ifeq
avec une concaténation de vos valeurs, par exemple.
ifeq ($(TEST_FLAG)$(DEBUG_FLAG),TRUEFALSE)
do something
endif
Il est également possible d'utiliser les fonctions conditionnelles, qui sont plus susceptibles d'être utiles dans une boucle (comme ifeq
ne fera probablement pas ce que vous attendez dans une boucle, il sera testé exactement une fois).
Bien que la solution d'Hasturkun fonctionne, je pense que la façon idiomatique d'écrire ceci est:
ifeq ($(TEST_FLAG),TRUE)
ifeq ($(DEBUG_FLAG),FALSE)
# Stuff
endif
endif