the need for some of the makefile trickery when making objects, and fixing a few .PATH bugs
if sources not there, it now mkdirs obj, but some trickery is necessary, to avoid deleting cwd.