better makefile