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/conditional-assignment.html | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 devdocs/gnu_make/conditional-assignment.html (limited to 'devdocs/gnu_make/conditional-assignment.html') diff --git a/devdocs/gnu_make/conditional-assignment.html b/devdocs/gnu_make/conditional-assignment.html new file mode 100644 index 00000000..516bd9ce --- /dev/null +++ b/devdocs/gnu_make/conditional-assignment.html @@ -0,0 +1,12 @@ +

Conditional Variable Assignment

There is another assignment operator for variables, ‘?=’. This is called a conditional variable assignment operator, because it only has an effect if the variable is not yet defined. This statement:

FOO ?= bar
+
+

is exactly equivalent to this (see The origin Function):

ifeq ($(origin FOO), undefined)
+  FOO = bar
+endif
+
+

Note that a variable set to an empty value is still defined, so ‘?=’ will not set that variable.

+

+ 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/Conditional-Assignment.html +

+
-- cgit v1.2.3