Makefile规则构建具有相同名称但不同的目录

时间:2009-07-23 19:00:28

标签: makefile

我想要一个类似的规则:

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

我想要优化的文件夹中有一个文件目录,然后输出到另一个文件夹。但是,文件在输入和输出文件夹中具有相同的名称。我已尝试过上述规则的各种迭代,但make将始终或永不重建,具体取决于我如何调整上述内容。建议?

编辑: 我最终得到了以下解决方案,效果很好!

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 $@ | ./bin/jsmin > $<

1 个答案:

答案 0 :(得分:4)

尝试这样的事情:

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 $@ $<