Main Makefile updates

* more modularization of target ‘clean’
* error handling updates
* gitignore object files