Rework the repo structure and add a makefile.
Fix a few compilations warnings that showed up with -Wall