implement makefile packaging