Вопрос

Я храню свой исходный html (и изображения и т.д.) В отдельных каталогах для управления версиями.Частью создания дистрибутива является копирование файлов make в выходную папку и установка атрибутов.

Сегодня мой makefile показывает (извлечение):

%.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-файлами, но на самом деле их много.

Я хотел бы просто перечислить имена файлов (без путей) и сделать сравнение между источником и местом назначения и скопировать файлы, которые были обновлены.

Заранее благодарю вас Søren

Это было полезно?

Решение

Это должно сработать:

$(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