Better Makefile: split into separate rules and use CXXFLAGS
Checkpoint -- Jeff still has some work to do.