The last project I worked on used recursive make. I did a lot of work on that system to get the damn thing to build properly. However at the end it did work, and just as well as an include-based make we've used on previous projects.<p>He mentions in the paper that dependency generation using gcc -MM, well you can do the same in your recursive system with roughly the same amount of pain. And (I do hate to say this) some of the other concerns are really rather inconsequential with the speed of modern computers.<p>It's a very good paper and it provides good insight into the problem space, but I'm not sure it's an absolute. See also '"Considered Harmful" Essays considered harmful' - <a href="http://meyerweb.com/eric/comment/chech.html" rel="nofollow">http://meyerweb.com/eric/comment/chech.html</a><p>On balance I think include-based make is probably a better way of doing things, and you can still have your module level files, they just become included rather than executed.<p>Of course what all this fussing about with dependency scripts really shows is that what most people try to do with make could be automated by other systems.