enhanced Makefile