我有很多应用程序都是使用相同类型的 make 规则构建的:
apps = foo bar baz
all: $(apps)
foo: foo.o $(objects)
$(link)
bar: bar.o $(objects)
$(link)
baz: baz.o $(objects)
$(link)
如果它们有一个扩展名(比如.x
),我就可以制定一个模式规则,例如:
%.x: %.o $(objects)
$(link)
并且我不需要为每个应用程序编写新规则。
但它们没有扩展名,我相当确定:
%: %.o $(objects)
$(link)
这种方式不可行(因为它规定可以使用此规则构建任何文件)。
有没有办法指定一条规则来覆盖所有的$(apps)
构建规则?