more robust Makefile