3 ms·
You should check out djb's redo [1], specifically the implementation by apenwarr [2]. It's close to the separation of concerns you're looking for: programs writ
by sigil 13y ago
You should check out djb's redo [1], specifically the implementation by apenwarr [2]. It's close to the separation of concerns you're looking for: programs written in your language of choice enumerate the dependency graph, an external tool collects them and executes its way through the dependency graph towards your targets.
I agree with you that Make's pattern matching facilities are ugly and could be improved upon. I tried something of the sort [3] with redo, and it worked well, but felt too alien.
From what I've seen at big companies with huge builds, the "dependency graph itself changed, now what do we rebuild" problem is the killer problem. I bet you've seen instances of that at Google.
[1] http://cr.yp.to/redo.html http://cr.yp.to/redo.html
[2] https://github.com/apenwarr/redo https://github.com/apenwarr/redo
[3] https://news.ycombinator.com/item?id=7464047 https://news.ycombinator.com/item?id=7464047
- a8da6b0c91d 13y agoSee also remake. It's a bit simpler, I think. https://github.com/rocky/remake https://github.com/rocky/remake