refine makefile