more flexible Makefile