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

Makefile中的泛型(非文件)模式匹配

  •  1
  • blueyed  · 技术社区  · 14 年前

    build-%: pull-% build-%.stamp
    pull-%:
      cd $* ; git log HEAD..origin/master | grep -q . && ( git pull ; $(RM) ../build-$*.stamp ) || true
    build-%.stamp:
      cd $* ; ant
      touch $@
    

    我们的想法是 make build-foo

    然而 % -模式匹配似乎只适用于文件名,即使在.PHONY中定义扩展形式(“build foo”)时也是如此。

    我必须使用模板吗,就像在 Makefile generic pattern rule -- xyzzy-en_US.ext2 from xyzzy.ext0

    1 回复  |  直到 7 年前
        1
  •  2
  •   Beta    14 年前

    build-% 规则。

    (我没有注意到这个问题,因为我在规则中输入了一个命令: @echo $@