GNU Info

Info Node: (make.info)Wildcard Examples

(make.info)Wildcard Examples


Next: Wildcard Pitfall Up: Wildcards
Enter node , (file) or (file)node

Wildcard Examples
-----------------

   Wildcards can be used in the commands 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 Note: Empty Target
Files to Record Events.  (The automatic variable `$?' is
used to print only those files that have changed; see Note: 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, prerequisite or
command, wildcard expansion will take place at that time.  To set
`objects' to the expansion, instead use:

     objects := $(wildcard *.o)

Note: Wildcard Function.


automatically generated by info2www version 1.2.2.9