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

Wildcard Examples

Wildcards can be used in the recipe of a rule, where they are expanded by the shell. For example, here is a rule to delete all the object files:

clean:
+        rm -f *.o
+
+

Wildcards are also useful in the prerequisites of a rule. With the following rule in the makefile, ‘make print’ will print all the ‘.c’ files that have changed since the last time you printed them:

print: *.c
+        lpr -p $?
+        touch print
+
+

This rule uses print as an empty target file; see Empty Target Files to Record Events. (The automatic variable ‘$?’ is used to print only those files that have changed; see Automatic Variables.)

Wildcard expansion does not happen when you define a variable. Thus, if you write this:

objects = *.o
+
+

then the value of the variable objects is the actual string ‘*.o’. However, if you use the value of objects in a target or prerequisite, wildcard expansion will take place there. If you use the value of objects in a recipe, the shell may perform wildcard expansion when the recipe runs. To set objects to the expansion, instead use:

objects := $(wildcard *.o)
+
+

See Wildcard Function.

+

+ 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/Wildcard-Examples.html +

+
-- cgit v1.2.3