J'utilise GNU make et j'inclue une bibliothèque tierce dans un projet qui a un système de construction qui devient berserk si CFLAGS
est défini dans l'environnement quand il est appelé. J'aime avoir CFLAGS
défini dans mon environnement pour d'autres raisons. est invoqué la construction de la bibliothèque d'un autre makefile, de sorte que je dis par exemple .:Est-il possible de "désactiver" une variable d'environnement dans un Makefile?
3rdparty: $(MAKE) -f Makefile.3rdparty
mais je voudrais être sûr que CFLAGS
est unset quand j'invoque faire le Makefile 3ème partie. La chose la plus proche que je peux trouver est-à-dire:
CFLAGS:=
Mais cela laisse encore CFLAGS
ensemble dans l'environnement, il est juste une chaîne vide. En dehors de faire quelque chose de hideux comme dire:
3rdparty: bash -c "unset CFLAGS; $(MAKE) -f Makefile.3rdparty"
est-il un moyen facile de « unset » la variable CFLAGS
à partir de mon makefile primaire, de sorte qu'il ne soit pas présent du tout dans le environnement lorsque la bibliothèque tierce est appelée?
Il fait! Je ne savais pas sur le mot-clé "unexport", maintenant je le fais. Merci! –
@JayWalker, veuillez marquer cette réponse comme la réponse acceptée si vous êtes satisfait. –