Clean up and change the makefile to include all sub-dir makefiles