iv GNU make
4.9 Multiple Targets in a Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.10 Multiple Rules for One Target. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.11 Static Pattern Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.11.1 Syntax of Static Pattern Rules . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.11.2 Static Pattern Rules versus Implicit Rules . . . . . . . . . . . . . . . 37
4.12 Double-Colon Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.13 Generating Prerequisites Automatically . . . . . . . . . . . . . . . . . . . . . . 38
5 Writing Recipes in Rules . . . . . . . . . . . . . . . . . . . . . 41
5.1 Recipe Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.1.1 Splitting Recipe Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.1.2 Using Variables in Recipes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Recipe Echoing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.3 Recipe Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3.1 Using One Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3.2 Choosing the Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.4 Parallel Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.4.1 Output During Parallel Execution . . . . . . . . . . . . . . . . . . . . . . . . 47
5.4.2 Input During Parallel Execution . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.5 Errors in Recipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.6 Interrupting or Killing make . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.7 Recursive Use of make . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.7.1 How the MAKE Variable Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.7.2 Communicating Variables to a Sub-make . . . . . . . . . . . . . . . . . . 52
5.7.3 Communicating Options to a Sub-make . . . . . . . . . . . . . . . . . . . 54
5.7.4 The ‘--print-directory’ Option . . . . . . . . . . . . . . . . . . . . . . . . 55
5.8 Defining Canned Recipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.9 Using Empty Recipes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6 How to Use Variables . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.1 Basics of Variable References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.2 The Two Flavors of Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.3 Advanced Features for Reference to Variables . . . . . . . . . . . . . . . . . . 62
6.3.1 Substitution References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.3.2 Computed Variable Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6.4 How Variables Get Their Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.5 Setting Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.6 Appending More Text to Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.7 The override Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6.8 Defining Multi-Line Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.9 Undefining Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.10 Variables from the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.11 Target-specific Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.12 Pattern-specific Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.13 Suppressing Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.14 Other Special Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Comentários a estes Manuais