Add Makefile and adjust to compile with '-O3 -Wall -Werror'