Comment puis-je affecter PATH dans une variable makefile? Pourquoi mon exemple ne fonctionne pas?
Au début d'un makefile, j'ai cette ligne :
PATH := $(PATH):/other/dir
et cela donne cette erreur: Recursive variable 'PATH' references itself
. Que dois-je faire pour qu'elle fonctionne?
source d'informationauteur Geo
Vous devez vous connecter pour publier un commentaire.
GNU make (et beaucoup d'autres) a deux façons principales de l'affectation de valeurs à des variables. Ils diffèrent selon l'opérateur que vous utilisez. Selon la documentationun seul signe égal (
=
) provoque une récursive expansion de la valeur, tandis que les deux points égal à (:=
) provoque une simple extension.Votre cité de code utilise une
:=
et donc devrait cause d'une simple expansion. Ce que vous voyez est un message d'erreur associé à un circuit d'extension. Je m'attends à ce genre d'erreur si vous aviez quelque chose comme ceci:Pourrait l'erreur soit causé par une ligne différente dans votre makefile qui vous n'ai pas cité? Si vous êtes sûr que votre découpage-collage est correcte, et que c'est cette ligne qui est à l'origine du problème, il serait utile si nous pouvions voir l'ensemble, sans modification du makefile.
Une autre possibilité est d'utiliser la fonction shell:
essayer de changer de $(CHEMIN) ${PATH}