Essentially the same result as before, bu split into two patches; one for the top level makefile and rules cleanup and a second for the common target rules cleanup.