PMake — A Tutorial

Adam de Boor

Legal Notice
Table of Contents
1 Introduction
2 The Basics of PMake
2.1. Dependency Lines
2.2. Shell Commands
2.3. Variables
2.3.1. Local Variables
2.3.2. Command-line Variables
2.3.3. Global Variables
2.3.4. Environment Variables
2.4. Comments
2.5. Parallelism
2.6. Writing and Debugging a Makefile
2.7. Invoking PMake
2.8. Summary
3 Short-cuts and Other Nice Things
3.1. Transformation Rules
3.2. Including Other Makefiles
3.3. Saving Commands
3.4. Target Attributes
3.5. Special Targets
3.6. Modifying Variable Expansion
3.7. More Exercises
4 PMake for Gods
4.1. Search Paths
4.2. Archives and Libraries
4.3. On the Condition...
4.4. A Shell is a Shell is a Shell
4.5. Compatibility
4.6. DEFCON 3 – Variable Expansion
4.7. DEFCON 2 – The Number of the Beast
4.8. DEFCON 1 – Imitation is the Not the Highest Form of Flattery
4.9. The Way Things Work
5 Answers to Exercises
Glossary of Jargon