Go to the first, previous, next, last section, table of contents.


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 dependencies 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 section How to Use Variables, and section Functions for Transforming Text.


Go to the first, previous, next, last section, table of contents.