refactor makefile to have several small targets