开发者

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)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜