Makefile 为什么赢了';我不能使合并模式规则成为先决条件,我如何使它做到这一点?
运行此Makefile时:Makefile 为什么赢了';我不能使合并模式规则成为先决条件,我如何使它做到这一点?,makefile,gnu-make,Makefile,Gnu Make,运行此Makefile时: foo.x: .PHONY: a b %.x: a %.x: b $(error [$^]) 我明白了: Makefile:5: *** [b]. Stop. 为什么我看不到[ab]而不是[b]?我怎样才能把它们都包括进去?你不能这样做。制作手册上说,模式规则没有配方 您可以使用同一规则中的所有先决条件编写模式规则: %.x: a b $(error [$^]) 或者,您可以在非模式目标上定义额外的先决条件: foo.x: a %.x:
foo.x:
.PHONY: a b
%.x: a
%.x: b
$(error [$^])
我明白了:
Makefile:5: *** [b]. Stop.
为什么我看不到
[ab]
而不是[b]
?我怎样才能把它们都包括进去?你不能这样做。制作手册上说,模式规则没有配方
您可以使用同一规则中的所有先决条件编写模式规则:
%.x: a b
$(error [$^])
或者,您可以在非模式目标上定义额外的先决条件:
foo.x: a
%.x: b
$(error [$^])
你不能那样做。制作手册上说,模式规则没有配方 您可以使用同一规则中的所有先决条件编写模式规则:
%.x: a b
$(error [$^])
或者,您可以在非模式目标上定义额外的先决条件:
foo.x: a
%.x: b
$(error [$^])