Add missing header
Change Makefile to be more flexible

Add Comments to Makefile