[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Certain standard ways of remaking target files are used very often. For
example, one customary way to make an object file is from a C source file
using the C compiler, cc
.
Implicit rules tell make
how to use customary techniques so
that you do not have to specify them in detail when you want to use
them. For example, there is an implicit rule for C compilation. File
names determine which implicit rules are run. For example, C
compilation typically takes a ‘.c’ file and makes a ‘.o’ file.
So make
applies the implicit rule for C compilation when it sees
this combination of file name endings.
A chain of implicit rules can apply in sequence; for example, make
will remake a ‘.o’ file from a ‘.y’ file by way of a ‘.c’ file.
The built-in implicit rules use several variables in their recipes so
that, by changing the values of the variables, you can change the way the
implicit rule works. For example, the variable CFLAGS
controls the
flags given to the C compiler by the implicit rule for C compilation.
You can define your own implicit rules by writing pattern rules.
Suffix rules are a more limited way to define implicit rules. Pattern rules are more general and clearer, but suffix rules are retained for compatibility.
10.1 Using Implicit Rules | How to use an existing implicit rule to get the recipes for updating a file. | |
10.2 Catalogue of Implicit Rules | A list of built-in implicit rules. | |
10.3 Variables Used by Implicit Rules | How to change what predefined rules do. | |
10.4 Chains of Implicit Rules | How to use a chain of implicit rules. | |
10.5 Defining and Redefining Pattern Rules | How to define new implicit rules. | |
10.6 Defining Last-Resort Default Rules | How to define recipes for rules which cannot find any. | |
10.7 Old-Fashioned Suffix Rules | The old-fashioned style of implicit rule. | |
10.8 Implicit Rule Search Algorithm | The precise algorithm for applying implicit rules. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Davide Tacchella on November 3, 2010 using texi2html 1.82.