mini generalization of the Makefile