2 Stimmen

Wie kann ich in einer Make-Datei eine mehrzeilige Liste reduzieren oder iterieren?

Ich habe etwas im Sinne von

define URLS
http://www.foo.com/
http://www.bar.com/
http://www.foo1.com/
endef

Wie kann ich das glätten, so dass es Leerzeichen anstelle von Zeilenumbrüchen verwendet (ich habe versucht, basteln mit $(subst) mit wenig Glück) oder iterieren über jedes Element mit einer for-Schleife? Ich weiß, dass ich es anders definieren kann, aber ich hoffte auf eine schöne saubere Lösung mit einem Element pro Zeile.

Gracias.

3voto

Eldar Abusalimov Punkte 22885

Zunächst müssen Sie Folgendes definieren \n weil man es nicht wörtlich nehmen kann.

define \n

endef

Jetzt kann man verwenden subst wie folgt:

URLS := $(subst $(\n), ,$(URLS))

0voto

bobbogo Punkte 13969
nicely-spaced := $(strip ${URLS})

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X