3 ms·
The problem is that make and all make-based systems that do anything non-trivial (e.g: code generation) are terrible. They all do dependency graph computation p
by Peaker 13y ago
The problem is that make and all make-based systems that do anything non-trivial (e.g: code generation) are terrible. They all do dependency graph computation prior to starting building, which in the case of code generation + dependency scanning is simply wrong. They all become painful with complexity. They all end up with false negatives, where you have to "make clean" to continue working reliably. They cannot pass parameters to sub-targets in order to build the same target in slightly different ways for different contexts (e.g: Unit tests vs system).
- angersock 13y agoAnd yet, for all that, they've worked for 30 years.
- Peaker 13y agoFor some value of "worked", in which people generally have to "make clean" every now and then, have false negatives that cause crpytic bugs now and then. Not to mention auto-generated code being extremely difficult to work with. All companies I worked at had replaced "make" with something in-house, because make is simply horrible.