The Linux kernel is just a much closer analogy than your average piece of software would be, because the Linux kernel actually has this distinct step that generates a standalone build config file that later build steps read.
Most regular software build infrastructure (autoconf, cmake, etc) just directly "burns in" any passed-in build config as generated code, without any intermediary file storing the config itself — which is a very different and not-very-analogous process. (That'd be more like if our epigenome was an extra chromosome of DNA built up during development!)
The Linux kernel is just a much closer analogy than your average piece of software would be, because the Linux kernel actually has this distinct step that generates a standalone build config file that later build steps read.
Most regular software build infrastructure (autoconf, cmake, etc) just directly "burns in" any passed-in build config as generated code, without any intermediary file storing the config itself — which is a very different and not-very-analogous process. (That'd be more like if our epigenome was an extra chromosome of DNA built up during development!)