Node:Pattern-specific, Previous:Target-specific, Up:Using Variables



Pattern-specific Variable Values

In addition to target-specific variable values (see Target-specific Variable Values), GNU make supports pattern-specific variable values. In this form, a variable is defined for any target that matches the pattern specified. Variables defined in this way are searched after any target-specific variables defined explicitly for that target, and before target-specific variables defined for the parent target.

Set a pattern-specific variable value like this:

     pattern ... : variable-assignment
     

or like this:

     pattern ... : override variable-assignment
     

where pattern is a %-pattern. As with target-specific variable values, multiple pattern values create a pattern-specific variable value for each pattern individually. The variable-assignment can be any valid form of assignment. Any command-line variable setting will take precedence, unless override is specified.

For example:

     %.o : CFLAGS = -O
     

will assign CFLAGS the value of -O for all targets matching the pattern %.o.