Added BUILD_DIR, targets more generic
added .gitignore
makefile more suited for recursive make