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

War es hilfreich?

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
scroll top