您当前的位置: 首页 >  linux

liaowenxiong

暂无认证

  • 1浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Linux 命令之 make -- GNU的工程化编译工具

liaowenxiong 发布时间:2021-06-21 12:56:45 ,浏览量:1

文章目录
  • 一、命令介绍
  • 二、常用选项
  • 三、命令示例
    • (一)指定命令 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--touchtouch 目标(更新修改时间)而不是重新制作它们-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/
关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.0437s