Rethinking Build Systems: From Make and Bazel to the Civ Approach
Build Systems Discussion
I explore what makes a build system effective by comparing tools like Make and Bazel with my own Civ framework. The core principle is that all inputs and outputs must be explicit, allowing for programmable configuration across different target systems. I also outline a simple package manager design using hubs and version control to manage dependencies efficiently.
Make is effectively a collection of shell scripts in an obtuse, platform-specific syntax.