update the makefile, more simple and efficient