GNU Make可以识别模式中的多个匹配吗?

时间:2015-05-07 08:22:32

标签: gnu-make

我在这样的makefile中有一个规则:

%.120.png : %.svg
    inkscape -z -e $@ -w 120 -h 120 $<

按预期工作。我想以更通用的方式重写它,如下所示:

%.%2.png : %.svg
        inkscape -z -e $@ -w %2 -h %1 $<

其中%2是第二场比赛(%是第一场比赛)。

据我所知,这不受支持。但是,如果是,怎么样?

1 个答案:

答案 0 :(得分:0)

您无法使用多种模式。但是,在您给出的示例中,自动化配方并不困难,尽管您仍需要编写多个模式:

INKSCAPECMD = inkscape -z -e $@ -w $(patsubst $*.%.png,%,$@) -h $* $<

%.120.png : %.svg
        $(INKSCAPECMD)
%.100.png : %.svg
        $(INKSCAPECMD)

等。除了,更多地看待它我很确定你的描述是错误的,并且这种模式不会做你真正想要的