Wenn ich ein Makefile verwenden, ohne variable Ziele, die Dinge funktionierenStellen Wiederaufbau immer Abhängigkeiten
preamble:
mkdir -p data
touch [email protected]
data/a: preamble
touch [email protected]
data/b: data/a
touch [email protected]
data/c: data/a
touch [email protected]
data/d: data/b data/c
touch [email protected]
diamond: data/a data/b data/c data/d
touch [email protected]
.PHONY: clean
clean:
rm -rf ${data} diamond preamble
Allerdings, wenn ich eine Zielvariable Aufgaben beteiligt sind, immer laufen einzuführen.
data="data"
preamble:
mkdir -p ${data}
touch [email protected]
${data}/a: preamble
touch [email protected]
${data}/b: data/a
touch [email protected]
${data}/c: data/a
touch [email protected]
${data}/d: data/b data/c
touch [email protected]
diamond: ${data}/a ${data}/b ${data}/c ${data}/d
touch [email protected]
.PHONY: clean
clean:
rm -rf ${data} diamond preamble
Diese werden immer
ausgeführttouch "data"/a
touch "data"/b
touch "data"/c
touch "data"/d
touch diamond
Was ist der richtige Weg, Variablen in Ziel aufzunehmen?
drrr. das funktioniert. Ich frage mich, warum Zitate in Make – NinjaGaiden
@ user3589054 nicht funktionieren - in 'make' ist alles eine Zeichenfolge. Zitate werden als wörtliche Zitate behandelt. Die Zuweisung von 'VAR = Strings mit Leerzeichen wie dieser funktioniert 'funktioniert wie erwartet. – alvits