文章目录
一、命令介绍
- 一、命令介绍
- 二、常用选项
- 三、命令示例
- (一)指定命令 make 的工作目录
make 命令是 GNU 的工程化编译工具,用于编译众多相互关联的源代码文件,还可以编辑内核或模块,以实现工程化的管理,提高开发效率。
make 命令第一次执行时,它会扫描 Makefile 找到目标以及其依赖。如果这些依赖自身也是目标,继续为这些依赖扫描 Makefile 建立其依赖关系,然后编译它们。一旦主依赖编译之后,然后就编译主目标。
无论是在 Linux 还是在 Unix 环境 中,make 都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到 make 或 make install。利用 make 工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用 make 和 makefile 工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。
而且如此多的源文件,如果每次都要键入 gcc 命令进行编译的话,那对程序员 来说简直就是一场灾难。而 make 工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。
因此,有效的利用 make 和 makefile 工具可以大大提高项目开发的效率。同时掌握make和makefile之后,您也不会再面对着 Linux 下的应用软件手足无措了。
二、常用选项 选项说明-r禁用内置的隐含规则,禁止使用 build-in 规则-B始终无条件make所有目标-b忽略兼容性-C 或 -c在读取 makefile 之前改变到指定的目录下-L在符号链接和目标之间使用最后的修改时间-n
或 --just-print
只打印命令配方,不实际执行-o不编译指定的文件-e环境变量覆盖 makefile 中的变量-d打印大量调试信息-i忽略命令执行返回的出错信息-w
或 --print-directory
打印当前目录--no-print-directory
关闭 -w,即使 -w 默认开启-t
或 --touch
touch 目标(更新修改时间)而不是重新制作它们-p
或 --print-data-base
打印 make 的内部数据库-qmake 操作将根据目标文件是否已经更新返回"0"或非"0"的状态信息-R禁用内置变量设置-s不回显命令。沉默模式,在执行之前不输出相应的命令行信息-I
在指定目录下搜索 makefile 文件-f读取指定文件作为 makefile 文件-k当有些目标不能 make 下去时,继续执行--debug[=旗标]
打印各种调试信息-j [N]
或 --jobs[=N]
同时允许 N 个任务;无参数表明允许无限个任务-l [N]
或 --load-average[=N]
或 --max-load[=N]
在系统负载高于 N 时不启动多任务-S关闭 -k--warn-undefined-variables
当引用未定义变量的时候发出警告-W将 当做最新
三、命令示例
(一)指定命令 make 的工作目录
将命令 make 的工作目录切换为目录 /linuxcool/:
[root@linuxcool ~]# make -C /linuxcool/