[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #27497] Later double-colon rules don't fire if earlier ones think t
From: |
Paul D. Smith |
Subject: |
[bug #27497] Later double-colon rules don't fire if earlier ones think target is up to date |
Date: |
Tue, 22 Sep 2009 15:50:56 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.14) Gecko/2009090217 Ubuntu/9.04 (jaunty) Firefox/3.0.14 |
Update of bug #27497 (project make):
Status: None => Not A Bug
Open/Closed: Open => Closed
_______________________________________________________
Follow-up Comment #1:
Make is behaving exactly as it should here. You are confused because you
think that a double-colon in a pattern rule behaves the same way as a
double-colon in an explicit rule... but it doesn't. A rule like "%.a :: %.c"
is very different than "foo.a :: foo.c". See the section "Match-Anything
Pattern Rules" in the GNU make manual.
Pattern rules don't need double-colon capabilities because they work like
that all the time. For pattern rules, if make cannot use the pattern (that is
either the target doesn't match the pattern, or the target does match but the
prerequisites don't exist and make doesn't know how to build them) then it
skips that pattern and tries the next one.
The "order matters" rule is a feature. From the GNU make manual section
"Introduction to Pattern Rules", you'll see:
> 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.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?27497>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/