makefile, чтобы сжать все папки в текущем каталоге
Я пытаюсь написать make-файл, который будет сжимать (zip) все папки в моем текущем рабочем каталоге. Что я получил так далеко, это:
SUBDIRS := $(wildcard */)
ZIPS := $(addsuffix .zip,$(subst /,,$(SUBDIRS)))
$(ZIPS) : %.zip : | %
zip $@ $*/*
dist: $(ZIPS)
(из Makefile: создание zip-файлов из всех подпапок)
это, однако, генерирует только zip-файл первой папки в моем текущем рабочем каталоге (я хотел бы сгенерировать zip-файлы всех).
1 ответ
Просто нужно было добавить все: $(ZIPS) следующим образом:
print-% : ; @echo $* = $($*)
SUBDIRS := $(wildcard */)
ZIPS := $(addsuffix .zip,$(subst /,,$(SUBDIRS)))
all: $(ZIPS)
$(ZIPS) : %.zip : | %
zip $@ $*/*
dist: $(ZIPS)