From 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 7 Apr 2024 13:41:34 -0500 Subject: new repository --- devdocs/gnu_make/undefine-directive.html | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 devdocs/gnu_make/undefine-directive.html (limited to 'devdocs/gnu_make/undefine-directive.html') diff --git a/devdocs/gnu_make/undefine-directive.html b/devdocs/gnu_make/undefine-directive.html new file mode 100644 index 00000000..81879a20 --- /dev/null +++ b/devdocs/gnu_make/undefine-directive.html @@ -0,0 +1,17 @@ +

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 (see Flavor Function) and origin (see 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
+
+
+

+ Copyright © 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
+ https://www.gnu.org/software/make/manual/html_node/Undefine-Directive.html +

+
-- cgit v1.2.3