MK is a set of Makefiles which makes it easy to write Makefiles for all kind of projects. It is written using GNU make, but should work with other std Unix makes as well. ATM, it only supports C and only with one binary/library per subdirectory.
Usage: Download the mk package and put it in your source-tree. Use the templates from mk/templates to create all the Makefiles for your project.