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.|