Рекурсивный в Makefile ... какие-нибудь другие решения? - PullRequest
2 голосов
/ 05 октября 2011

Что я хочу сделать, это сжать все CSS во всех подпапках в определенной папке.

например, у меня есть

/resources/css/
/resources/css/parent.css
/resources/css/child.css
/resources/css/import/import.css

как-то так ... (выше только пример, имена файлов не используются в реальном мире).

Итак, я попытался найти рекурсию в Makefile.Но кажется, что это не рекомендуемый способ, но затем было сказано использовать «include» и иметь Makefile в каждой подпапке, а самый родительский Makefile должен вызывать Make-файл подпапки.

Но!Мне не нравится этот способ делать.Я не хочу создавать Makefile для каждой подпапки.

Есть ли другой способ справиться с этим делом?Любые другие предложения инструментов, которые я хочу изучить и опробовать.

Я просто хочу сделать одну простую команду, чтобы сжать все CSS в моей папке.(даже JS).Спасибо!

1 Ответ

4 голосов
/ 06 октября 2011

В вашем Makefile

# Define a variable that encompasses all of the CSS files:
CSSFILES := $(shell find . -name '*.css')

# Target compressed versions of each
default: $(CSSFILES:%.css=%.compressed.css)

# Tell Make how to compress (tab leading command line)
%.compressed.css: %.css
        compresscommand --input $< --output $@
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...