a better Makefile