Now that we have C and C++, we need to split the compile and link steps (because we need different flags for the C and C++ files), so this is easier with a Makefile.
Replace the python scripts for building the shared lib and tests with a Makefile, which makes it easier to handle a mix of C and C++.