refactor Makefile