GNU make Kopieren von Dateien auf Distro-Verzeichnis
Frage
Ich halte meine Quelle html (und Bilder etc.) in separaten Verzeichnissen für die Quellcodeverwaltung. Ein Teil der Herstellung der Distro ist make Kopieren von Dateien in den Ausgabeordner haben und die Attribute festgelegt.
Heute ist mein Make-Datei zeigt (Auszug):
%.html:
/usr/bin/install -c -p -m 644 $< $@
www: $(HTMLDST)/firmware.html $(HTMLDST)/firmware_status.html $(HTMLDST)/index.html
$(HTMLDST)/firmware.html: $(HTMLSRC)/firmware.html
$(HTMLDST)/firmware_status.html: $(HTMLSRC)/firmware_status.html
$(HTMLDST)/index.html: $(HTMLSRC)/index.html
Dies ist mit nur drei HTML-Dateien angezeigt, aber in Wirklichkeit gibt es viele.
Ich würde die Dateinamen nur Liste wie (ohne Pfade) und haben auszukommen den Vergleich zwischen Quelle und Ziel und kopieren Sie die Dateien, die aktualisiert wurden.
Vielen Dank im Voraus Søren
Lösung
Das sollte es tun:
$(HTMLDST)/%.html: $(HTMLSRC)/%.html
/usr/bin/install -c -p -m 644 $< $@
www: $(HTMLDST)/firmware.html $(HTMLDST)/firmware_status.html $(HTMLDST)/index.html
oder kurz:
HTMLFILES = firmware firmware_status index
DESTFILES = $(patsubst %,$(HTMLDST)/%.html,$(HTMLFILES))
$(HTMLDST)/%.html: $(HTMLSRC)/%.html
/usr/bin/install -c -p -m 644 $< $@
.PHONY: www
www: $(DESTFILES)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow