1 简介和了解
Makefile是一个脚本文件,用于GNU-Make(Make)这个软件。Make是一个项目构建工具,用于方便地编译、链接多个源代码文件,自动地决定哪些需要先编译哪些需要后编译甚至重新编译。几乎所有Linux发行版都内置了Make软件。
Makefile脚本文件的命名只能命名成Makefile或者makefile,只有这两种命名方式能被Make识别。
通过示例来了解:假设有3个头文件和8个c文件,我们要编写一个makefile来告诉make命令如何编译和链接这些文件。规则如下:
1 如果这个工程从未被编译,那么我们要编译和链接所有c文件。
2 如果这个工程编译过了但修改了某些c文件,我们只需要编译被修改的c文件并链接。
3 如果这个工程的头文件改变了,我们只需要编译并链接引用了修改的头文件的c文件。
如果makefile编写的合理,这一切都能通过make命令完成,make命令会自动智能根据当前情况进行编译和链接。