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