我把源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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top