make命令的功能是编译内核或源码文件。make是GNU工程化编译工具,用于编译众多相互关联的源代码文件。make命令也可以编译内核或模块功能,以工程化的工作方式提高开发效率。
初次运行make命令时,它会通过扫描Makefile文件找到目标及其依赖关系,并在建立依赖关系后依次编译所对应的源码程序。
语法格式: make 参数 文件名
常用参数:
-b | 忽略兼容性 | -L | 使用最后的修改时间 | |
-B | 始终编译指定的目标文件 | -n | 不实际运行任何命令 | |
-C | 更改为指定的目录 | -o | 不编译指定的文件 | |
-r | 禁用内置的隐含规则 | -p | 显示内部数据库 | |
-d | 显示调试信息 | -q | 使用安静模式 | |
-e | 使用环境变量覆盖Makefile文件 | -R | 禁用内置变量 | |
-f | 读取指定文件作为Makefile文件 | -s | 静默执行模式 | |
-I | 搜索指定目录中包含的Makefile文件 | -t | 创建指定目标 | |
-j | 完成指定工作编号的作业 | -v | 显示版本信息 | |
-k | 当某个目标不能make时,继续执行任务 | -w | 显示当前目录 | |
-l | 低于指定负载时,才会启动多个任务 | -W | 设置目标文件 |
参考示例
编译当前工作目录下的工程源码:
[root@linuxcool ~]# make
读取指定文件作为Makefile文件:
[root@linuxcool ~]# make -f Makefile
为make命令提供指定的不同目录路径:
[root@linuxcool ~]# make -C /Dir
显示全部的调试信息:
[root@linuxcool ~]# make -d