A straight-forward, general-purpose build tool.

 

Ruler is a tool for managing a dependence graph of files. It applies in any situation where a commandline executable takes files as input (sources) and generates files as output (targets). For example, in a large-scale C++ project, Ruler can optimize intermediate builds by only re-building targets whose sources have changed. C++ projects are not the only use-case, however. Many problems can be solved by dependence management.

Ruler is a Rust crate. If you have Cargo installed, you can use it to download and install just type this:

cargo install ruler