编写Makefile的规则和注意事项
Makefile是一种自动化编译工具,它定义了一系列的规则来指定哪些文件需要先编译、哪些文件需要后编译、哪些文件需要重新编译,甚至于进行更复杂的功能操作。Makefile的出现极大的提高了软件开发的效率,因为一旦写好,只需要一个make命令,整个工程完全自动编译。
Makefile的重要性
----------------
作为一个专业的程序员,makefile是必不可少的技能,因为makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译、哪些文件需要后编译、哪些文件需要重新编译。
Makefile的好处
----------------
Makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
Makefile的种类
----------------
Makefile有多种,例如GNU的make、Delphi的make、Visual C++的nmake等,每种make的语法都不同,但其本质都是在“文件依赖性”上做文章。
GNU Make
---------
GNU Make是应用最为广泛的,也是用得最多的。它是遵循于IEEE1003.2-1992标准的(POSIX.2)。在Linux下,GNU Make的版本是3.80。
Makefile的编写规则
---------------------
Makefile的编写规则包括:
* TARGET:指定目标文件
* PREREQUISITES:指定依赖文件
* COMMANDS:指定编译命令
* VARIABLES:指定变量
Makefile的编写步骤
--------------------
Makefile的编写步骤包括:
1. 定义目标文件
2. 指定依赖文件
3. 指定编译命令
4. 指定变量
Makefile的应用
----------------
Makefile的应用非常广泛,例如:
* 自动化编译
* 依赖关系管理
* 编译优化
Makefile的注意事项
---------------------
Makefile的注意事项包括:
* 文件依赖性
* 编译顺序
* 变量定义
结论
----
Makefile是一种自动化编译工具,它定义了一系列的规则来指定哪些文件需要先编译、哪些文件需要后编译、哪些文件需要重新编译。Makefile的出现极大的提高了软件开发的效率,因为一旦写好,只需要一个make命令,整个工程完全自动编译。