while usar signo script operadores logicos funciones else ejemplos ciclos unix makefile gnu-make gnu

unix - signo - Cómo usar la condición múltiple en la declaración ''ifeq''



usar funciones en bash (2)

Aunque la solución de Hasturkun funcionará, creo que la forma idiomática de escribir esto es:

ifeq ($(TEST_FLAG),TRUE) ifeq ($(DEBUG_FLAG),FALSE) # Stuff endif endif

Me gustaría verificar múltiples condiciones en un bucle if de GNU make file. Aquí hay un ejemplo:

ifeq ($(TEST_FLAG),TRUE && ($(DEBUG_FLAG),FALSE)) true statement else false statement endif

¿Cuál es la forma correcta de hacerlo?


Puede usar ifeq con una concatenación de sus valores, ej.

ifeq ($(TEST_FLAG)$(DEBUG_FLAG),TRUEFALSE) do something endif

También es posible utilizar las funciones Conditional, que es más probable que sean útiles en un bucle (ya que ifeq probablemente no hará lo que espera en un bucle, se probará exactamente una vez).