4 ms·
The Ninja it converts to appears to be here: https://martine.github.io/ninja/ https://martine.github.io/ninja/
by michaelhoffman 11y ago
The Ninja it converts to appears to be here:
https://martine.github.io/ninja/ https://martine.github.io/ninja/
- rspeer 11y agoI'm a big fan of Ninja: it applies the philosophy of "do one thing and do it well" to build systems. It takes in a dependency graph and a list of build rules, and it builds stuff in parallel. 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.
- wichsen 11y agoI just saw an HN post about this: https://news.ycombinator.com/item?id=9854223 https://news.ycombinator.com/item?id=9854223