Ensemble Makefile variable à l'intérieur de la cible

J'ai une cible à l'intérieur d'un makefile:

all: $(TARGETS)

Je veux une variante qui diffère de all seulement par le fait qu'elle définit une variable d'environnement. Quelque chose comme:

all-abc: $(TARGETS)
    ABC=123

mais cela ne fonctionne pas parce que les dépendances sont traitées avant la variable est définie. J'ai pensé avoir une autre dépendance avant le vrai que juste définit la variable d'environnement mais je ne pense pas que l'environnement persiste à travers les objectifs. C'est-à-dire que

abc:
    ABC=123
all-abc: abc $(TARGETS)

ne fonctionne pas. Ce que j'ai, finalement, veut être en mesure de faire est de

$ make all-abc

au lieu de

$ ABC=123 make

Est-il possible de définir une variable d'environnement comme cela ?

(GNU Make 3.82)

  • Quel est le problème avec make all ABC=123?
  • préfèrent ne pas avoir à vous soucier de les valeurs à définir les variables (par exemple, dans l'exemple que je ne veux pas avoir à me souvenir 123)
InformationsquelleAutor starfry | 2013-03-05