Refactor so compiling binaries is easier
Merge branch 'feature-refactor-makefile'