GNU make copy files to distro directory
I keep my source html (and images etc.) in separate directories for source control. Part of making the distro is to have make copy files to output folder and set the attributes.
Today my makefile shows (extract):
%.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)/f开发者_Python百科irmware_status.html: $(HTMLSRC)/firmware_status.html
$(HTMLDST)/index.html: $(HTMLSRC)/index.html
This is shown with only three html files, but in reality, there are lots.
I would like to just list the filenames (without paths) and have make do the comparison between source and destination and copy the files that have been updated.
Thank you in advance Søren
This should do it:
$(HTMLDST)/%.html: $(HTMLSRC)/%.html
/usr/bin/install -c -p -m 644 $< $@
www: $(HTMLDST)/firmware.html $(HTMLDST)/firmware_status.html $(HTMLDST)/index.html
Or, for brevity:
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)
精彩评论