代码之家  ›  专栏  ›  技术社区  ›  seandavi

是否可以使用Makefile中的模式将文件名的中间部分从源映射到目标?

  •  1
  • seandavi  · 技术社区  · 6 年前

    我有一组文件看起来像:

    meta_UNIQID_set.xml.gz Makefile 使目标看起来像 UNIQID.json.gz . 其基本原理是适合现有的多步骤管道(其中名称在此表单中指定)。

    我已经在gnu make中寻找了允许这种转换的模式替换,但是我还没有找到一个看起来能满足我需要的东西。我可以用其他工具进行转换,甚至可以编写特定的规则,因为只有几个文件。我只是好奇是否有直接的方法使用现有的gnumake功能。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Botje    6 年前

    % 像这样的词干字符:

    %.json.gz: meta_%_set.xml.gz
            echo "Processing $< to $@, stem is $*"
            cp $< $@
    

    官方文件称之为 Pattern rules