Estoy usando GNU make, e incluyendo una biblioteca de terceros en un proyecto que tiene un sistema de compilación que se vuelve loco si se define CFLAGS
en el entorno cuando se llama. Me gusta tener CFLAGS
definido en mi entorno por otros motivos. construcción de la biblioteca se invoca desde otro archivo MAKE, por lo que digo ej .:¿Es posible "desarmar" una variable de entorno en un Makefile?
3rdparty: $(MAKE) -f Makefile.3rdparty
pero me gustaría estar seguro de que CFLAGS
no está definida cuando invoco a hacer en la tercera parte Makefile. Lo más cercano que puedo encontrar es decir:
CFLAGS:=
Pero esto todavía deja CFLAGS
set en el medio ambiente, es sólo una cadena vacía. Aparte de hacer algo horrible como decir:
3rdparty: bash -c "unset CFLAGS; $(MAKE) -f Makefile.3rdparty"
¿Hay una manera fácil de "desarmar" la variable CFLAGS
de dentro de mi makefile primaria, por lo que no está presente en absoluto en el ambiente cuando se invoca la biblioteca de terceros?
lo hace! No sabía sobre la palabra clave "unexport", ahora lo hago. ¡Gracias! –
@JayWalker, marque esta respuesta como la aceptada si está satisfecho. –