( takdavid | 2008. 08. 27., sze – 13:27 )

A make-változók csak egyszer értékelődnek ki, a Makefile feldolgozása közben, még az első targetek végrehajtása előtt. Nem lehet őket felülírni (a += stb. szimbolikusak). Tehát egy target egy utasításából egy értéket már csak env var-ban vagy fájlban tudsz továbbadni. Az eredeti kérdésedre tehát nem a válasz.
A targeteknek lehet azonos nevű változója, amit a dependenciafában 'lefelé' felül lehet bírálni, de ez az érték nem érhető el 'később'. Példa:

toptarget: VALTOZO=1
toptarget: target1
toptarget: target2

target1: VALTOZO+=2
target1:
echo $(VALTOZO)

target2:
echo $(VALTOZO)

ennek a kimenete
1 2
1