Makefile make:替换隐式规则中的前提条件名称

Makefile make:替换隐式规则中的前提条件名称,makefile,Makefile,我在makefile中有以下隐式规则: a1 b1: %: %.o 调用时,将查找先决条件a1.o和b1.o。相反,我想用a.o和b.o替换这些先决条件。我玩了一会儿subst和$(shell),但运气不好。可以这样做吗?对于有限的情况: a1 b1: %1: %.o 或者: a1 : a.o b1 : b.o a1 b1: <the recipe> a1:a.o b1:b.o a1 b1: Maxim,你能解释一下a1 b1:%1:%o构造的更多一点或者提供一个链接来

我在makefile中有以下隐式规则:

a1 b1: %: %.o
调用时,将查找先决条件
a1.o
b1.o
。相反,我想用
a.o
b.o
替换这些先决条件。我玩了一会儿
subst
$(shell)
,但运气不好。可以这样做吗?

对于有限的情况:

a1 b1: %1: %.o
或者:

a1 : a.o
b1 : b.o
a1 b1:
    <the recipe>
a1:a.o
b1:b.o
a1 b1:

Maxim,你能解释一下a1 b1:%1:%o构造的更多一点或者提供一个链接来阅读它吗?我可以猜测它是如何工作的,但是我以前没有见过一个有两个冒号的规则,我想知道它的细节。这是一个很好的例子。基本上,该模式只适用于目标,如
targets:pattern:premissions
中所示。