[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Static Rules Unceremoniously Dropped
From: |
William Ahern |
Subject: |
Static Rules Unceremoniously Dropped |
Date: |
Tue, 31 Jan 2006 14:14:24 -0800 |
Using 3.81beta3, it seems that one of our pattern rules
CFLAGS_$(d) := -DFOO
$(d)/%.o: $(d)/%.c -lfoo -lbar
$(CC) $(CFLAGS_$(@D)) ...
is dropped without notice when -lbar is not found. Note that LIBPATTERNS
is nullified, and -lfoo and -lbar are explicit .INTERMEDIATE targets (or
are supposed to be when they're present).
Then, the default %.o: %.c rule matches, but cannot properly compile the
source because of missing CFLAGS.
This seems like a bug, because there is absolsutely no notice that the
rule was dropped or the dependency could not be found. Maybe this issue
rises from LIBPATTERNS code, and thus slips thru the cracks.
I've moved a HUGE source tree over to a non-recursive make model.
Fortunately this is the only bug we've hit so far, IIRC.
I've debugged and debugged. Rest assured that $(d) is defined correctly,
etc, etc. The only way to trigger it is to remove the rule definition
for -lbar.
- Bill
--
William Ahern <address@hidden>
--------------------------------------------------
This message was scanned for Spam, Spyware and Viruses
For more information, please visit:
http://www.barracudanetworks.com
- Static Rules Unceremoniously Dropped,
William Ahern <=