Зарегистрироваться
Восстановить пароль
FAQ по входу

The GNU Make Manual

  • Файл формата pdf
  • размером 3,81 МБ
  • Добавлен пользователем
  • Описание отредактировано
The GNU Make Manual
Free Software Foundation, 2023. - 262 p.
In software development, Make is a build automation tool that builds executable programs and libraries from source code by reading files called makefiles which specify how to derive the target program. Though integrated development environments and language-specific compiler features can also be used to manage a build process, Make remains widely used, especially in Unix and Unix-like operating systems.
Make is not limited to building programs. It can also be used to manage any project where some files need to be updated automatically from other files whenever the other files change.
1 Overview of make
1.1 How to Read This Manual
1.2 Problems and Bugs
2 An Introduction to Makefiles
2.1 What a Rule Looks Like
2.2 A Simple Makefile
2.3 How make Processes a Makefile
2.4 Variables Make Makefiles Simpler
2.5 Letting make Deduce the Recipes
2.6 Another Style of Makefile
2.7 Rules for Cleaning the Directory
3 Writing Makefiles
3.1 What Makefiles Contain
3.1.1 Splitting Long Lines
3.2 What Name to Give Your Makefile
3.3 Including Other Makefiles
3.4 The Variable MAKEFILES
3.5 How Makefiles Are Remade
3.6 Overriding Part of Another Makefile
3.7 How make Reads a Makefile
3.8 How Makefiles Are Parsed
3.9 Secondary Expansion
4 Writing Rules
4.1 Rule Example
4.2 Rule Syntax
4.3 Types of Prerequisites
4.4 Using Wildcard Characters in File Names
4.4.1 Wildcard Examples
4.4.2 Pitfalls of Using Wildcards
4.4.3 The Function wildcard
4.5 Searching Directories for Prerequisites
4.5.1 VPATH: Search Path for All Prerequisites
4.5.2 The vpath Directive
4.5.3 How Directory Searches are Performed
4.5.4 Writing Recipes with Directory Search
4.5.5 Directory Search and Implicit Rules
4.5.6 Directory Search for Link Libraries
4.6 Phony Targets
4.7 Rules without Recipes or Prerequisites
4.8 Empty Target Files to Record Events
4.9 Special Built-in Target Names
4.10 Multiple Targets in a Rule
4.11 Multiple Rules for One Target
4.12 Static Pattern Rules
4.12.1 Syntax of Static Pattern Rules
4.12.2 Static Pattern Rules versus Implicit Rules
4.13 Double-Colon Rules
4.14 Generating Prerequisites Automatically
5 Writing Recipes in Rules
5.1 Recipe Syntax
5.1.1 Splitting Recipe Lines
5.1.2 Using Variables in Recipes
5.2 Recipe Echoing
5.3 Recipe Execution
5.3.1 Using One Shell
5.3.2 Choosing the Shell
5.4 Parallel Execution
5.4.1 Disabling Parallel Execution
5.4.2 Output During Parallel Execution
5.4.3 Input During Parallel Execution
5.5 Errors in Recipes
5.6 Interrupting or Killing make
5.7 Recursive Use of make
5.7.1 How the MAKE Variable Works
5.7.2 Communicating Variables to a Sub-make
5.7.3 Communicating Options to a Sub-make
5.7.4 The ‘--print-directory’ Option
5.8 Defining Canned Recipes
5.9 Using Empty Recipes
6 How to Use Variables
6.1 Basics of Variable References
6.2 The Two Flavors of Variables
6.2.1 Recursively Expanded Variable Assignment
6.2.2 Simply Expanded Variable Assignment
6.2.3 Immediately Expanded Variable Assignment
6.2.4 Conditional Variable Assignment
6.3 Advanced Features for Reference to Variables
6.3.1 Substitution References
6.3.2 Computed Variable Names
6.4 How Variables Get Their Values
6.5 Setting Variables
6.6 Appending More Text to Variables
6.7 The override Directive
6.8 Defining Multi-Line Variables
6.9 Undefining Variables
6.10 Variables from the Environment
6.11 Target-specific Variable Values
6.12 Pattern-specific Variable Values
6.13 Suppressing Inheritance
6.14 Other Special Variables
7 Conditional Parts of Makefiles
7.1 Example of a Conditional
7.2 Syntax of Conditionals
7.3 Conditionals that Test Flags
8 Functions for Transforming Text
8.1 Function Call Syntax
8.2 Functions for String Substitution and Analysis
8.3 Functions for File Names
8.4 Functions for Conditionals
8.5 The let Function
8.6 The foreach Function
8.7 The file Function
8.8 The call Function
8.9 The value Function
8.10 The eval Function
8.11 The origin Function
8.12 The flavor Function
8.13 Functions That Control Make
8.14 The shell Function
8.15 The guile Function
9 How to Run make
9.1 Arguments to Specify the Makefile
9.2 Arguments to Specify the Goals
9.3 Instead of Executing Recipes
9.4 Avoiding Recompilation of Some Files
9.5 Overriding Variables
9.6 Testing the Compilation of a Program
9.7 Temporary Files
9.8 Summary of Options
10 Using Implicit Rules
10.1 Using Implicit Rules
10.2 Catalogue of Built-In Rules
10.3 Variables Used by Implicit Rules
10.4 Chains of Implicit Rules
10.5 Defining and Redefining Pattern Rules
10.5.1 Introduction to Pattern Rules
10.5.2 Pattern Rule Examples
10.5.3 Automatic Variables
10.5.4 How Patterns Match
10.5.5 Match-Anything Pattern Rules
10.5.6 Canceling Implicit Rules
10.6 Defining Last-Resort Default Rules
10.7 Old-Fashioned Suffix Rules
10.8 Implicit Rule Search Algorithm
11 Using make to Update Archive Files
11.1 Archive Members as Targets
11.2 Implicit Rule for Archive Member Targets
11.2.1 Updating Archive Symbol Directories
11.3 Dangers When Using Archives
11.4 Suffix Rules for Archive Files
12 Extending GNU make
12.1 GNU Guile Integration
12.1.1 Conversion of Guile Types
12.1.2 Interfaces from Guile to make
12.1.3 Example Using Guile in make
12.2 Loading Dynamic Objects
12.2.1 The load Directive
12.2.2 How Loaded Objects Are Remade
12.2.3 Loaded Object Interface
12.2.4 Example Loaded Object
13 Integrating GNU make
13.1 Sharing Job Slots with GNU make
13.1.1 POSIX Jobserver Interaction
13.1.2 Windows Jobserver Interaction
13.2 Synchronized Terminal Output
14 Features of GNU make
15 Incompatibilities and Missing Features
16 Makefile Conventions
16.1 General Conventions for Makefiles
16.2 Utilities in Makefiles
16.3 Variables for Specifying Commands
16.4 DESTDIR: Support for Staged Installs
16.5 Variables for Installation Directories
16.6 Standard Targets for Users
16.7 Install Command Categories
Appendix A Quick Reference
Appendix B Errors Generated by Make
Appendix C Complex Makefile Example
Appendix D GNU Free Documentation License
Index of Concepts
Index of Functions, Variables, & Directives
  • Чтобы скачать этот файл зарегистрируйтесь и/или войдите на сайт используя форму сверху.
  • Регистрация