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

