add(Makefile): add Makefile and re organize