help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Multiple rules for same target: what is the order of prerequisites i


From: Cook, Malcolm
Subject: RE: Multiple rules for same target: what is the order of prerequisites in $^ and what does $< expand to?
Date: Thu, 28 Sep 2023 14:34:26 +0000

>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:psmith@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>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]