This 3 layer build system model provides a framework to design and compare build systems. I will first define the layers then look at a custom build system example.
Software build systems have three distinct layers. The layers are, from the top down:
* 3 - Distribution
* 2 - Packaging
* 1 - Build