add makefile
add makefile rules