I'm quickly coming to understand why the dark magic arts of GNU Make, Automake, & Autoconf exist, even though what I'm compiling is markup-language code, not programming-language code. (I'm not using them or learning them, just coming to appreciate why they exist.)