Makefile 为手册页制定规则(多个扩展的规则相同)

Makefile 为手册页制定规则(多个扩展的规则相同),makefile,gnu-make,Makefile,Gnu Make,我有一个项目,其中包含一个库和一些应用程序,我包括手册页。我正在使用ronn生成手册页,我的makefile中有一条规则如下所示: %.1 : %.1.ronn $(RONN) -r $< %.1:%.1.ronn $(RONN)-r$< 这很有效,我使用markdown创建了手册页,ronn很高兴地吐出了手册页 问题是,并非我的所有手册页都针对手册的第1节。我想把图书馆的页面放在第3部分,以后我可能还需要其他部分。我可以定义更多的规则,每个部分一个,将%.1更改为%.2、%.

我有一个项目,其中包含一个库和一些应用程序,我包括手册页。我正在使用ronn生成手册页,我的makefile中有一条规则如下所示:

%.1 : %.1.ronn
    $(RONN) -r $<
%.1:%.1.ronn
$(RONN)-r$<
这很有效,我使用markdown创建了手册页,ronn很高兴地吐出了手册页

问题是,并非我的所有手册页都针对手册的第1节。我想把图书馆的页面放在第3部分,以后我可能还需要其他部分。我可以定义更多的规则,每个部分一个,将%.1更改为%.2、%.3等等。不过,我想知道是否有一种方法可以简单地执行%.n(其中n将匹配任何数字或单个字符),以减少生成文件中的规则数

这可能吗?我的谷歌搜索结果没有显示任何东西,到目前为止,我尝试过的任何东西都不起作用


提前感谢您的帮助

使用
%
代替
%.1
,使用
%.ronn
代替
%.1.ronn


如果您有文件
name.1.ronn
name.2.ronn
,则
%
将匹配
name.1
name.2
,我尝试了这个,但似乎不起作用。它现在只是说,当我尝试构建时,没有规则使target
name.1
。此外,我还需要为每个输出创建一个规则,即%.1、%.2、%.3等。我希望%.n:%.ronn有一个单独的规则,如果我有一个目标是name.1、name.2等,则该规则将匹配。根据您的评论,您没有执行2501建议的操作。如果他们能在回答中提供一个明确的例子,那就更好了。您需要将
%:%.ronn
作为模式编写。如果您试图使
name.1
,则
%
将匹配
name.1
,前提条件是
name.1.ronn
。等等。只需要一条规则。好吧,对了,我看错了。我只是没有处理一个仅仅是%的目标。我现在已经试过了,它确实有效,所以谢谢你的帮助。不知何故,有一个匹配任何东西的目标规则会让我从侧面看它,但它确实有效,并且似乎不会破坏我的makefile中的任何其他内容;您可以在GNU make手册中阅读它们。但是,它们确实有效,如果您不想编写多个规则,那么这就是您必须使用的。