How to avoid a build system death march

This is how you do a build system death march:

  1. Run the build.

  2. It takes 10 minutes to break.

  3. Make a change

  4. Repeat step 1 N times and watch your life go by.

This is quick way (or slow way depending on how you look at it) to having mental health problems working on the build system.

The smart way with build systems is to figure out how to hack a particular problem so you can try and solve it in a way that you can immediately get feedback. (in general this the ability to do this is what separates a good developer from an average developer).

Our build system doesn’t make it that easy in that it’s been put together in a way that doesn’t actually use make in the manner it should - it’s looping through n^2 times instead of checking dependencies and only building what needs to be rebuilt.