writing better Makefile