Por lo tanto, debo asegurarme de que si estoy compilando de forma cruzada para un objetivo específico, se establece una variable de shell. Si la variable no está configurada, make debe mostrar un mensaje y luego salir.Salir de un archivo make si el estado de dos variables de shell es un determinado estado
tengo la siguiente regla en mi Makefile:
.PHONY: checksource
all: checksource default
checksource:
$(if $(and $(ifeq ($(CROSS_COMPILE), whatever)), $(ifeq ($(VARIABLE),))), \
($(shell echo "Error! VARIABLE not defined!") \
$(shell exit 2)))
Si $CROSS_COMPILE
se ajusta a lo que sea:
$> echo $CROSS_COMPILE
whatever
$>
y $ variable no está definida:
$> echo $VARIABLE
$>
Lo hace no sale de la marca y se genera el objetivo predeterminado. De acuerdo, sé que podría usar el ifeq
anidado para hacer esto, pero quiero hacerlo bonito (y aprender un poco más sobre los archivos MAKE).