using Makefile to finish compile-work