Make/Pattern-Rules
Next: Last Resort, Previous: Chained Rules, Up: Implicit Rules [Contents][Index]
10.5 Defining and Redefining Pattern Rules
You define an implicit rule by writing a pattern rule. A pattern
rule looks like an ordinary rule, except that its target contains the
character ‘%’ (exactly one of them). The target is considered a
pattern for matching file names; the ‘%’ can match any nonempty
substring, while other characters match only themselves. The prerequisites
likewise use ‘%’ to show how their names relate to the target name.
Thus, a pattern rule ‘%.o : %.c’ says how to make any file
stem.o from another file stem.c.
Note that expansion using ‘%’ in pattern rules occurs
after any variable or function expansions, which take place
when the makefile is read. See How to Use
Variables, and Functions for Transforming Text.
| • Pattern Intro | An introduction to pattern rules. | |
| • Pattern Examples | Examples of pattern rules. | |
| • Automatic Variables | How to use automatic variables in the
recipe of implicit rules. | |
| • Pattern Match | How patterns match. | |
| • Match-Anything Rules | Precautions you should take prior to
defining rules that can match any target file whatever. | |
| • Canceling Rules | How to override or cancel built-in rules. |