简介
一个工程中的源文件不计其数,按其类型、功能、模块分别放在若干个目录中。makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作(因为makefile就像一个shell脚本一样,可以执行操作系统的命令)。
makefile带来的好处就是——“自动化编译”,一但写好,只需要一个make命令,整个工程完全编译,极大的提高了软件的开发效率。make是一个命令工具,是一个及时makefile中命令的工具程序。
make工具最主要也是最基本的功能就是根据makefile文件中描述的源程序至今的相互关系来完成自动编译、维护多个源文件工程。而makefile文件需要按某种语法进行编写,文件中需要说明如何编译各个源文件并链接生成可执行文件,要求定义源文件之间的依赖关系。
实例
.PHONY: compile
devCommands = \
compile
productionCommands = \
run
all: $(devCommands)
compile:
mvn clean compile -Dmaven.test.skip=true
deploy:
mvn clean deploy -Dmaven.test.skip=true
dep:
mvn dependency:tree -Dverbose -Dincludes=javax.servlet:servlet-api
怎么运行
makefile是规则文件。在你的Makefile目录下运行make,缺省使用的文件就是Makefile或makefile。