added implementation of general Makefile