Generelaized version of makefile