I hand-coded all the makefiles which may not be a good demonstration... At some point I will shift this to CMake