v3.1: Build system updated.
The new build system uses a series of Makefiles, rather than CMake. Due to the cross platform and cross programming model combinations, different compilers on the same platform are often required. Therefore it is simplest to use simple Makefiles to choose the right compiler for the right model than rely to CMake for this.