Admittedly you can end up with short, very general Makefiles that look like they were a Prolog program written in TECO. But the advantage is that they are general so don't need to be fiddled with as your project grows.
I make small Makefiles like this that ensure my local build environment is correct for the package, then call cmake.
I make small Makefiles like this that ensure my local build environment is correct for the package, then call cmake.