在Makefile中递归...任何其他解决方案?

时间:2011-10-05 16:22:15

标签: makefile

我想要做的是压缩某个文件夹下所有子文件夹中的所有css。

例如,我有

/resources/css/
/resources/css/parent.css
/resources/css/child.css
/resources/css/import/import.css
像这样......(上面只是一个例子,文件名没有在现实世界中使用)。

所以,我尝试在Makefile中搜索递归。但似乎这不是一种推荐的方式,但后来被告知使用“include”并在每个子文件夹下都有Makefile,而最多的父Makefile应该调用子文件夹的Makefile。

但是!我不喜欢这种做法。我不想为每个子文件夹创建Makefile。

还有其他方法来处理这种情况吗?任何其他工具建议,我愿意学习并尝试。

我只想做一个简单的命令来压缩我文件夹下的所有css。 (甚至是js)。 谢谢!

1 个答案:

答案 0 :(得分:4)

在你的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 $@