make makefile more flexible