makefile more flexible