Makefile organization

Make it so most of the things in the Makefile that may change are now stored in variables.