Quoting Steve Deiters <[email protected]>:

Using make 3.81, any subsequent regular variable assignments to a
variable previously assigned using an override directive are ignored.
For example, in the following:

---     1969-12-31 18:00:00.000000000 -0600
+++ Makefile    2009-08-20 16:55:07.000000000 -0500
@@ -0,0 +1,6 @@
+FOO:=foo
+override FOO+=bar
+FOO+=baz
+
+all:
+       @echo $(FOO)

The output is "foo bar" instead of the expected "foo bar baz".  Is this
the expected behavior?  I would expect all regular assignments would be
valid unless overridden by values on the command line.

This behavior is expected.  Make tracks variables internally with a certain
level of "importance".  Once a variable is set to a certain level, then
no assignment of that variable via a method of lesser "importance" takes
effect.  The highest level is "override", so once a variable is marked
"override" no other assignment, except another override, can change it.



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

Reply via email to