Switch to using cmake instead of straight make

This is much easier to deal with, and is much cleaner.