A small build system similar to make
Ninja is a small build system with a focus on speed. It differs from other build systems in two major respects: it is designed to have its input files generated by a higher-level build system, and it is designed to run builds as fast as possible.
Ninja's low-level approach makes it perfect for embedding into more featureful build systems. Via gyp it can build Chrome and v8 and node.js etc.; via CMake it can build LLVM, KDE, Blender, etc.