make: Value Function

 
 8.8 The 'value' Function
 ========================
 
 The 'value' function provides a way for you to use the value of a
 variable _without_ having it expanded.  Please note that this does not
 undo expansions which have already occurred; for example if you create a
 simply expanded variable its value is expanded during the definition; in
 that case the 'value' function will return the same result as using the
 variable directly.
 
    The syntax of the 'value' function is:
 
      $(value VARIABLE)
 
    Note that VARIABLE is the _name_ of a variable, not a _reference_ to
 that variable.  Therefore you would not normally use a '$' or
 parentheses when writing it.  (You can, however, use a variable
 reference in the name if you want the name not to be a constant.)
 
    The result of this function is a string containing the value of
 VARIABLE, without any expansion occurring.  For example, in this
 makefile:
 
      FOO = $PATH
 
      all:
              @echo $(FOO)
              @echo $(value FOO)
 
 The first output line would be 'ATH', since the "$P" would be expanded
 as a 'make' variable, while the second output line would be the current
 value of your '$PATH' environment variable, since the 'value' function
 avoided the expansion.
 
    The 'value' function is most often used in conjunction with the
 'eval' function (SeeEval Function).