@sourcerer @offtopic on the "but it's complex" side, there are template engines that have been used for decades in GNUstep, BeOS & Haiku… that lets you fill a few variables and get your project built.
https://gnustep.github.io/resources/documentation/Developer/Make/Manual/gnustep-make_1.html