|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
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 section How to Use Variables, and Functions for Transforming Text.
10.5.1 Introduction to Pattern Rules An introduction to pattern rules. 10.5.2 Pattern Rule Examples Examples of pattern rules. 10.5.3 Automatic Variables How to use automatic variables in the commands of implicit rules. 10.5.4 How Patterns Match How patterns match. 10.5.5 Match-Anything Pattern Rules Precautions you should take prior to defining rules that can match any target file whatever. 10.5.6 Canceling Implicit Rules How to override or cancel built-in rules.