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.