Committed some serious atrocities to make most object files be built only once. Stupid cmake.