make命令的功能是用于编译内核或源码文件。make是GNU工程化编译工具,用于编译众多相互关联的源代码文件,也可以编译内核或模块功能,以工程化的工作方式,提高开发效率。

初次运行make命令时,它会通过扫描Makefile文件找到目标及其依赖关系,并在建立依赖关系后依次编译所对应的源码程序。

语法格式:  make [参数] 文件

常用参数:

-r禁用内置的隐含规则
-B始终无条件make所有目标
-b忽略兼容性
-C<目录>更改为指定目录
-L在符号链接和目标之间使用最后的修改时间
-n实际上不运行任何命令,只显示出来
-o<文件>不编译指定的文件
-e环境变量覆盖makefile
-d显示打印调试信息
-i从命中忽略错误
-w显示当前目录
-t创建目标,而不是改造它们
-p显示make的内部数据库
-q安静模式
-R禁用内置变量设置
-s不回显命令
-I<目录>搜索指定目录中包含的makefile
-f<文件>读取指定文件作为makefile文件
-k当有些目标不能make下去时,继续执行
-- -debug=<标记>显示调试信息的各种类型
-j<作业编号>指定工作编号的作业一次完成
-l<负载>不要启动多个任务,除非低于指定负载
-S关闭-k
-- -no-print-directory关闭-w,即使它被打开
-- -warn-undefined-variables当一个未定义的变量被引用时发出警告
-W<文件>指定目标文件

参考实例

编译当前工作目录下的工程源码:

[root@linuxcool ~]# make

读取指定文件作为Makefile文件:

[root@linuxcool ~]# make -f makefile

为make命令提供指定的不同目录路径:

[root@linuxcool ~]# make -C /linux

显示全部的调试信息:

[root@linuxcool ~]# make -d 
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。