Value Function (GNU make)
Next: Eval Function, Previous: Call Function, Up: Functions [Contents][Index]
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 (see Eval Function).