Как отрефакторить Makefile?

luna89

Есть код, который копирует файлы из папки static в папку public

STATIC_SOURCE=$(shell find static -type f)
STATIC_TARGET=$(patsubst static/%, public/%, $(STATIC_SOURCE
public/% : static/%
mkdir -p $(@D)
cp $< $@

Теперь я хочу еще, помимо копирования из папки static в папку public, настроить копирование из папки foo в папку bar. Как это сделать, не дублируя имеющийся код с заменой static->foo, public->bar? Можно ли объявить какой-то макрос?

luna89

Нагуглил define, неактуально.

luna89

Если кому-то интересно

define copy
$1 = $$(patsubst $2/%, $3/%, $$(shell find $2 -type f
$3/% : $2/%
mkdir -p $$(@D)
cp $$< $$@
endef
$(eval $(call copy,COPY_STATIC,static,public

volkov55

Лучше выкинь этот Makefile, пока не поздно.
Оставить комментарий
Имя или ник:
Комментарий: