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
If you do not have cargo installed, go here:
Install Cargo
More Ruler links:
Project repository on github.com