The Mk II Build System

Created on 2021-10-08T03:08:53-05:00

Return to the Index

This card can also be read via Gemini.

The Mark Two build system is a step up from shell scripts. It has an understanding of inputs, outputs, rules to turn the inputs to outputs, and is able to reason about these targets in some way.

GNU Make is the most common Mk II.

Less common MkII's are Redo, Plan 9 Mk, Tup, and Ninjabuild, though each has its own way of handling inputs, outputs and rules to build each target.

It's debatable if tools like Jam, CMake and XMake are Mk II's. Those are programmable to some limited degree (which would make them Mk III's) but also rely on a lot of built-in rules to specify behavior. This special casing makes it more Mk II.