help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: scoping of variables


From: Paul Smith
Subject: Re: scoping of variables
Date: Thu, 04 Nov 2010 10:12:53 -0400

On Thu, 2010-11-04 at 13:47 +0100, Warlich, Christof wrote:
> So my question boils down to: Is ther a better way to achive scoping
> of variables? Maybe it is possible to push, pop and restore the entire
> environment? Or do I even overlook a more obvious and simple solution?

No, there is no such thing as variable scoping in GNU make.  The sole
exception is for target- and pattern-specific variables, but that's
probably too fine-grained to be useful for your purposes.

People typically implement scoping implicitly, through a variable naming
convention.

It IS possible to prevent "leaking" of variables by unsetting variables
that match a given pattern, using the .VARIABLES variable which contains
the names of all defined variables.  However you have to be very careful
about this due to variable expansion rules: variables inside recipes are
only expanded at the very end, when the recipe is run.  If you've unset
a variable that is used inside that recipe, then it won't work
correctly.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]