Makefile ifeq logical AND
j'aimerais vérifier plusieurs conditions dans une boucle if
du fichier GNU make. Voici un exemple:
ifeq ($(TEST_FLAG),TRUE && ($(DEBUG_FLAG),FALSE))
true statement
else
false statement
endif
Quelle est la bonne façon de le faire?
27
demandé sur
pevik
2011-06-23 12:46:38
2 réponses
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 sera probablement pas faire ce que vous attendez dans une boucle, il sera testé exactement une fois).
27
répondu
Hasturkun
2017-06-22 19:21:30
bien que la solution de Hasturkun fonctionne, je pense que la façon idiomatique d'écrire ceci est:
ifeq ($(TEST_FLAG),TRUE)
ifeq ($(DEBUG_FLAG),FALSE)
# Stuff
endif
endif
21
répondu
Jack Kelly
2013-08-15 20:08:49