I don't understand, with gcc -MM (to generate .d files), -include to include them, and VPATH for source file discovery, a typical small project makefile is about 1/2 page and requires very little maintenance.
More complicated project? Might shoot out to 2 pages. It'll still work in 20 years time too, the tools won't change under you (I'm looking at you, pretty much all other build systems)