Clean build

A cleaner build process - by not checking in CMake's output and by adding Make rules to regenerate libraries, it's quicker to build and run the benchmarks from a fresh checkout.