make命令是GNU的工程化编译工具,用于编译众多相互关联的源代码文件,还可以编辑内核或模块,以实现工程化的管理,提高开发效率。

当make命令第一次执行时,它扫描Makefile找到目标以及其依赖。如果这些依赖自身也是目标,继续为这些依赖扫描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<文件>指定目标文件

参考实例

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

[root@linuxcool ~]# make -f my_linuxcool

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

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

打印调试信息:

[root@linuxcool ~]# make -d | more
Author

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

姜传广

网络工程师,linux爱好者