simpler, more flexible Makefile