GNU make копирует файлы в каталог дистрибутива
Вопрос
Я храню свой исходный 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)
Не связан с StackOverflow