Ninja, similar to Make
Ninja primarily targets only one piece: the front of a build. This is the wait between starting the build and the time the first compile starts to run.
The Design of Ninja
A build system performs three main tasks:
load and analyze build goals
figure out which steps need to run in order to achieve those goals
execute those steps