add generic makefile