makefile more robust