Ich finde, ich schreibe viele Makefiles, die mit Hilfe von n-Tupel-Listen aufgeräumt werden konnten. Aber ich kann keinen Weg finden, dies richtig (und sauber) zu machen. Bisher konnte ich nur mit $ (shell ...) und tr, sed, oder andere nicht Makefile-Standards kommen.Iterieren über Listen in Makefiles?
Zum Beispiel, würde Ich mag, dies zu tun:
XYZs = \
dog.c pull_tail bark \
duck.c chase quack \
cow.c tip moo
all:
@- $(foreach X Y Z,$(XYZs), \
$(CC) $X -o bully/$Y ; \
ln bully/$Y sounds/$Z ; \
)
Gibt es einen guten Weg, n tupel Listen in Makefiles wiederholen? Vielen Dank!
Cool, und es könnte auf halbem Weg sein! Gibt es dafür eine Syntax? Hund: ANIMAL = Hund.c BULLY = pull_tail SOUND = Rinde – Dylan
+1, sehr schön. –
Das Problem ist nicht, dass make deklarativ ist, sondern dass es keine deklarative Syntax für dieses häufig benötigte Muster bietet! – reinierpost