代码之家  ›  专栏  ›  技术社区  ›  Michael Mior

使用相同名称但不同目录生成文件规则

  •  2
  • Michael Mior  · 技术社区  · 15 年前

    我想要一个规则,比如:

    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 回复  |  直到 15 年前
        1
  •  4
  •   dimba    15 年前

    尝试这样的想法:

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