help-make
[Top][All Lists]
Advanced

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

Re: trouble with order rules in implicit rules


From: Noel Yap
Subject: Re: trouble with order rules in implicit rules
Date: Fri, 16 Apr 2004 13:52:02 -0400
User-agent: Mozilla Thunderbird 0.5 (Windows/20040212)

I think I see. If I switch the two rules and foo doesn't exist, everything works fine. But if foo exists and foo/bar doesn't, the same error occurs even if the rule for foo/bar/% comes first. If this is the defined behaviour, what needs to be done to get the action to be fired in the latter scenario?

Thanks,
Noel

Paul D. Smith wrote:

%% Noel Yap <address@hidden> writes:

  ny> I had thought that the better-matching rule would be the one used.

I don't know what "better-matching" means, but the way make chooses a
pattern rule is well-defined; from section "Introduction to Pattern
Rules":


  The order in which pattern rules appear in the makefile is important
since this is the order in which they are considered.  Of equally
applicable rules, only the first one found is used.


I guess that's a little confusing, since "equally applicable" isn't
defined anywhere.  But, it refers to the last sentence:


Note however, that a rule whose prerequisites actually exist or are
mentioned always takes priority over a rule with prerequisites that must
be made by chaining other implicit rules.



Anyway, the short answer is that for basic pattern rules (not chained
pattern rules) the first one appearing in the makefile is always used.





reply via email to

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