update Makefile to include  to final build
restructure the directory and refine the Makefile