One problem with non-recursive make for very large projects is that make can take a long time to parse and interpret the uber-Makefile. Even though this paper provides some advice for reducing the parse time, it isn't enough for really large projects.
Android suffered from this a lot in the early days. I always wondered whether the initial Android team had read this paper and got carried away...