Refactor Makefile

- Makefile understand OS
- cleanup
```
$ make
# make install
```