File: make.info, Node: Wildcard Examples, Next: Wildcard Pitfall, Prev: Wildcards.php">Wildcards, Up: Wildcards.php">Wildcards 4.4.1 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 *note Empty Target Files to Record Events: Empty Targets. (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 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) *Note Wildcard Function::.