2009-07-23 149 views
2

我想一个规则是这样的:Makefile的规则来构建具有相同的名称,但不同的目录

build/%.ext: src/%.ext 
    action 

我有一个文件夹中,我要优化文件的一个目录,然后输出到不同的文件夹。但是,这些文件在输入和输出文件夹中具有相同的名称。我已经尝试了上面的规则的各种迭代,但使得将永远或从来没有重建取决于我如何调整上述。建议?

编辑: 我结束了以下解决方案,这很好!

JS = \ 
    src/js/script2.js \ 
    src/js/script1.js 

JS_OPT = $(patsubst src/js/%.js,web/js/%.js, $(JS)) 

all: $(JS_OPT) 

$(JS_OPT): web/js/%.js: src/js/%.js 
    cat [email protected] | ./bin/jsmin > $< 

回答

4

尝试somethink这样的:

INPUT_FILES = \ 
    src/a.txt \ 
    src/b.txt \ 

OPTIMIZED_FILES=$(patsubst src/%.ext,build/%.ext,$(INPUT_FILES)) 

$(OPTIMIZED_FILES): build/%.ext: src/%.txt 
    optimize_command [email protected] $< 
+0

制作着眼于修改时间,以决定是否优化文件应重建。 所以看看mod。 src文件的时间和相应的优化文件时间来了解make是否应该真正重建优化文件。 使用“stat ”查看以秒为单位的修改时间。 – dimba 2009-07-24 06:20:44

相关问题