manpagez: man pages & more
info make
Home | html | info | man

File: make.info,  Node: Undefine Directive,  Next: Environment,  Prev: Multi-Line,  Up: Using Variables

6.9 Undefining Variables
========================

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' (*note Flavor Function::) and 'origin' (*note 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

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.