Ninja Build System

Ninja is a small, focus-driven build system with a primary emphasis on speed, making it particularly well-suited for large, complex software projects like web browsers or operating systems. Unlike more feature-rich systems like Make, Ninja is designed as a low-level backend and is not meant for writing build scripts by hand. Instead, higher-level build configuration tools such as CMake, Meson, or gyp generate `.ninja` input files, which describe the exact commands needed to compile the project. This division of labor allows Ninja to do one thing exceptionally well: execute the build commands as quickly as possible, especially for incremental builds where its minimal dependency checking overhead provides a significant performance advantage.

1.

1.1.

1.1.1.

1.1.2.

1.1.3.

1.2.

1.2.1.

1.2.1.1.

1.2.1.2.

1.2.1.3.

1.2.2.

1.2.2.1.

1.2.2.2.

1.2.2.3.

1.2.3.

1.2.3.1.

1.2.3.2.

1.2.3.3.

1.3.

1.3.1.

1.3.1.1.

1.3.1.2.

1.3.1.3.

1.3.1.4.

1.3.2.

1.3.2.1.

1.3.2.2.

1.3.2.3.

1.3.3.

1.3.3.1.

1.3.3.2.

1.3.4.

1.3.4.1.

1.3.4.2.

1.3.4.2.1.

1.3.4.2.2.

1.3.4.2.3.

1.3.4.2.4.

1.3.4.3.

1.4.

1.4.1.

1.4.1.1.

1.4.1.2.

1.4.1.3.

1.4.1.4.

1.4.2.

1.4.2.1.

1.4.2.2.

1.4.2.3.

1.4.3.

1.4.3.1.

1.4.3.2.