Add .gitignore
Add -f to `make clean*` in codes
Ensure that `make clean` all generated files