Add makefile

Referenced in issue #1, this change adds support for using a Makefile for project automation, replacing multiple shell files.