Next: Variables from the Environment, Previous: Defining Multi-Line Variables, Up: How to Use Variables [Contents][Index]
If you want to clear a variable, setting its value to empty is usually
sufficient. Expanding such a variable will yield the same result (empty
string) regardless of whether it was set or not. However, if you are
using the flavor
(see The flavor
Function) and
origin
(see The origin
Function) functions, there is a difference
between a variable that was never set and a variable with an empty value.
In such situations you may want to use the undefine
directive to
make a variable appear as if it was never set. For example:
foo := foo bar = bar undefine foo undefine bar $(info $(origin foo)) $(info $(flavor bar))
This example will print “undefined” for both variables.
If you want to undefine a command-line variable definition, you can use
the override
directive together with undefine
, similar to
how this is done for variable definitions:
override undefine CFLAGS