Kati – An experimental GNU make clone(github.com) |
Kati – An experimental GNU make clone(github.com) |
Like Make, you can use it to build a lot of different kinds of things, and it doesn't care what programming language you're using.
Unlike Make, it doesn't give you its own idiosyncratic, messy, easily-misused programming language for defining your dependency graph. The dependency graph is just an input that comes from somewhere else. You can make it in a reasonable programming language, or apparently now you can make it out of a Makefile using Kati.
Because it's not trying to support decades of Makefile hacks, Ninja can do things that would be dangerous to do in Make, such as a single build step that reads M files and writes N files without any extra locking or bookkeeping.
mk was make done better for Plan 9.
This is okay, because mk is meant to be written by humans and Ninja is meant to be a target for compilers like Kati and cmake.
[0] http://git.suckless.org/st/tree/Makefile#n6
On bigger projects waiting 60min or 10min or 2min makes a difference.
kati so far converts traditional makefile recipes into ninja builds.