update makefile, add macros, add .gitignore