Adrian Reau has a good article on freshmeat, discussing the shortcomings of venerable make program.
Anyone who has ever tried to make a portable build system for more than a couple of platforms would agree that make is just not enough. There are so many heavily used, Gnu Make features that are not there on other unixes.
Unfortunately, the portability problem isn't solved by the use of Make replacements he has suggested. But for other problems , like recursive make, these (esp. cook) seem to be decent replacements. Unfortunately, the build chain never gets the importance it should (becuase our focus is to fix customer issues, and build problems are essentially developer issues).