一个智能的 makefile