Useful Links
Computer Science
Other Tools and Technologies
Make Build Tool
1. Introduction to Build Automation and Make
2. Getting Started with Makefiles
3. Variables and Macros
4. Rules and Patterns
5. Functions
6. Conditional Processing
7. Managing Complex Projects
8. Advanced Topics and Best Practices
9. Make Beyond Compilation
Functions
Function Call Syntax
Basic Function Structure
$(function arguments) Form
${function arguments} Form
Argument Separation
Nesting Functions
Function Evaluation Order
String Manipulation Functions
Substitution Functions
$(subst from,to,text)
$(patsubst pattern,replacement,text)
Pattern Substitution Rules
Text Processing Functions
$(strip string)
$(findstring find,in)
$(filter pattern...,text)
$(filter-out pattern...,text)
$(sort list)
$(word n,text)
$(words text)
$(wordlist s,e,text)
$(firstword names...)
$(lastword names...)
Case Conversion
$(upper text)
$(lower text)
String Comparison
String Equality Testing
Pattern Matching
Filesystem Functions
Path Manipulation
$(dir names...)
$(notdir names...)
$(suffix names...)
$(basename names...)
$(addsuffix suffix,names...)
$(addprefix prefix,names...)
$(join list1,list2)
File Discovery
$(wildcard pattern)
Glob Pattern Syntax
Multiple Pattern Wildcards
Path Resolution
$(realpath names...)
$(abspath names...)
Control and Information Functions
Shell Integration
$(shell command)
Command Execution Context
Error Handling
Performance Considerations
Output Functions
$(error text...)
$(warning text...)
$(info text...)
Output Timing
Flow Control Functions
$(if condition,then-part,else-part)
Condition Evaluation
Nested Conditionals
Iteration Functions
$(foreach var,list,text)
Variable Scope
Nested Foreach
Evaluation Functions
$(eval text)
$(call variable,param,param,...)
$(value variable)
$(origin variable)
$(flavor variable)
Previous
4. Rules and Patterns
Go to top
Next
6. Conditional Processing