improved makefile template