Honest question: Why not use cmake?
To me, the big benefit of cmake is its portability because it is able to generate visual studio files, eclipse files, etc.
Another one is that you end up with a static Makefile while my solution is dynamic: the makefile is evaluated at every execution (unless gnu make caches its parsed files but I don't think it does so far). It could be a problem for big projects like linux which would require a certain amount of parsing time of the Makefiles before evaluating them - while cmake or autotools, you go through this only once.