>On Wed, 2023-09-27 at 16:50 +0200, Renaud Pacalet wrote: >> Thanks for your answer, Bahman. Not sure what "equivalent" means but >> with the following Makefile: >> >> %.a: %.b >> >> a.a: a.c >> echo $^ > >The first pattern rule here does not define a pattern rule. It >*cancels* a pattern rule. See: >https://www.gnu.org/software/make/manual/html_node/Canceling-Rules.html > >It's not possible for two different pattern rules to both be in effect >when building the same target, just like it's not possible for multiple >implicit rules with recipes to be in effect. > >Basically, the way it works is that the prerequisites on the rule that >has the recipe come first, and any other prerequisites added by rules >without recipes are added afterwards, in the order in which they appear >in the makefile. >
Excellent! This answers a question I've wondered about in the past. Might this be included as part of [Multiple Rules for One Target](https://www.gnu.org/software/make/manual/make.html#Multiple-Rules) documentation? ~ Malcolm >-- >Paul D. Smith <mailto:psm...@gnu.org> Find some GNU make tips at: >https://www.gnu.org http://make.mad-scientist.net >"Please remain calm...I may be mad, but I am a professional." --Mad >Scientist>