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

# Using Implicit Rules

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. See section Chains of Implicit Rules.

The built-in implicit rules use several variables in their commands 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. See section Variables Used by Implicit Rules.

You can define your own implicit rules by writing pattern rules. See section Defining and Redefining 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. See section Old-Fashioned Suffix Rules.

- Using Implicit: How to use an existing implicit rule to get the commands for updating a file.
- Catalogue of Rules: A list of built-in implicit rules.
- Implicit Variables: How to change what predefined rules do.
- Chained Rules: How to use a chain of implicit rules.
- Pattern Rules: How to define new implicit rules.
- Last Resort: How to defining commands for rules which cannot find any.
- Suffix Rules: The old-fashioned style of implicit rule.
- Implicit Rule Search: The precise algorithm for applying implicit rules.

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