Part I. Make, a historical tool

Table of Contents

1. Make, the de facto build tool
Introduction to basics of make
Cleaning and dependency on Makefile
Somewhat larger single-directory projects
Header file dependencies
2. Where make fails, multi-directory projects
Make with directory separators
Another approach: Makefile per directory
Let's try recursive make
Fixing no common namespace: include file
Drawbacks and dangers of separating build to multiple DAGs
Another approach: one Makefile, module.mk per directory
Parallel make, jobserver and lack of multiple targets