Right now we are manually writing Makefiles. We should be doing this with automated tools that would allow for more seamless cross-compilation. Add support for CMake and Bazel