fixed and enhanched makefile