On Wed, 2011-05-18 at 15:02 +0200, Mario Schwalbe wrote:
> $ LC_ALL=C make -f Makefile.private-bug
> prereq:
> make: *** No rule to make target `private', needed by `target'.  Stop.
> 
> $ LC_ALL=C make -v
> GNU Make 3.81

The "private" feature was added in GNU make 3.82.  It's not available in
GNU make 3.81.

If you use "make -p" you'll see that your makefile is not being
interpreted at all as you expect.

This line:

> private GLOBAL = global

is creating a variable named "private GLOBAL", which is why your echo of
$(GLOBAL) shows nothing; you never set the variable $(GLOBAL).

Similarly, this line:

> target: private LOCAL  = local

is not declaring a target-specific variable at all: it declares a target
"target" with four prerequisites: "private", "LOCAL", "=", and "local".

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


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to