This is a summary of techniques for implementing a large build system, written in plain GNU make, for a Unix-based C or C++ codebase. By "large" I mean a build system that coordinates the building of many different "projects" or "modules"; this is sometimes called a "meta build system".