make makefile more generic