题
我把源HTML(和图像等)在源控制单独的目录。 使发行的一部分是有化妆文件拷贝到输出文件夹和设置的属性。
今天我的生成文件显示(提取物):
%.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
此被示出仅具有三个HTML文件,但在现实中,有很多。
我想只是列表中的文件名(不含路径),并有凑合源和目的地之间的比较和复制已更新的文件。
感谢您提前 索伦
解决方案
此应该这样做:
$(HTMLDST)/%.html: $(HTMLSRC)/%.html
/usr/bin/install -c -p -m 644 $< $@
www: $(HTMLDST)/firmware.html $(HTMLDST)/firmware_status.html $(HTMLDST)/index.html
或者,为了简洁:
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)
不隶属于 StackOverflow