Hallo,
ich habe im makefile eine Liste von Dateien, die von einem Script
generiert werden:
1 | HEADERS = $(sort \
|
2 | generatedHeader1.h \
|
3 | generatedHeader12.h)
|
Jeder generierte Header hängt von seinem Template ab, dass die Endung
.h.template trägt.
Ich möchte also für jeden Eintrag in meiner HEADERS-Liste ein Target
erzeugen, dass von diesem .h.template abhängt.
Dadurch soll sichergestellt werden dass der entsprechende Header
generiert wird wenn sich mein .h.template file ändert.
Mein Versuch sieht so aus:
1 | $(HEADERS): $*.h.template
|
2 | @echo $* #hier wird normal das Script aufgerufen...
|
Das klappt nicht.
$* expandiert zwar zum aktuellen File, aber anscheinend nur im "Body"
eines targets.
Die Fehlermeldung lautet:
1 | make: *** No rule to make target '.h.template'
|
Das bedeutet für mich, $* expandiert nur im Body, nicht aber in der
Abhängigkeitenliste.
Gibt es da eine Lösung für mein Problem?
Ich verwende GNU make.