Make : utiliser des variables dépendant de la cible

Anne make

L’objectif était de faire quelque chose comme ça :

CIBLES=toto titi tata
$(CIBLES): %: VAR=src/%.c
$(CIBLES): %: results/%.log
results/%.log: ...
        ... $(VAR) ...
results/titi.log: VAR=src/un_autre_titi.c

mais impossible de trouver comment faire pour définir VAR en fonction de la cible ! J’en viens à me dire que ce n’est juste pas possible…

La solution que j’ai trouvée est la suivante :

$(CIBLES): %:
        $(MAKE) VAR=src/$*.c results/$@.log

results/titi.log: override VAR=src/un_autre_titi.c

Et cette fois, ça marche !

Voir aussi :