On Tue, 2008-02-19 at 18:29 -0800, Michael Morrell wrote:
> That works, but I don't see why.  I have now tried all four
> combinations of these two lines (each with and without "override").
> The other 3 cases make sense to me, but this one does not.  It appears
> that if the initial assignment is an "override" assigment, a "normal"
> += is always ignored.

Well, the GNU make manual section on "override" explicitly states that
to use += with an override variable, you have to declare the += override
as well.

Basically, make maintains different "priorities" of variables.  Of these
priorities, "override" is the highest, and command line is the second
highest.  Normal, non-override assignments in the makefile are the third
highest.  Once a variable has been set at a given priority, then any
attempt to set that variable in any manner using a lesser priority is
ignored.

> I'm not sure I want to call that a bug, but I would at least like to
> see a warning here that a line in my Makefile is always ignored and
> has no effect (and is therefore likely to be a bug).

But, it's not NECESSARILY a bug.  It's quite possible that, in a complex
makefile environment with lots of included makefiles, you are using
"override" to ensure that this value is set regardless of what other
"normal" priority assignments there might be.

I don't think it's appropriate for make to warn about things that MIGHT
be an error, but might not be, at least not by default.

However, it would be good to have some kind of enhanced debugging or
even "picky warning mode" that could be enabled to show these sorts of
warnings.  We do have one for warning about variables that are never
set, but this is not very flexible.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[EMAIL PROTECTED]>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.mad-scientist.us
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist


_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to