GNU make copiare i file a distro directory
Domanda
io continuo la mia html sorgente (e le immagini, ecc) in directory separate per il controllo di origine. Parte di rendere la distro è quello di avere file di effettuare una copia nella cartella di output e impostare gli attributi.
Oggi i miei spettacoli Makefile (estratto):
%.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
Questo è mostrato con solo tre file html, ma in realtà, ci sono un sacco.
Vorrei elencare solo i nomi dei file (senza percorso) e hanno accontentarsi il confronto tra sorgente e destinazione e copiare i file che sono stati aggiornati.
Grazie in anticipo Søren
Soluzione
Questo dovrebbe farlo:
$(HTMLDST)/%.html: $(HTMLSRC)/%.html
/usr/bin/install -c -p -m 644 $< $@
www: $(HTMLDST)/firmware.html $(HTMLDST)/firmware_status.html $(HTMLDST)/index.html
In alternativa, per brevità:
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)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow