Linux下makefile文件的使用

Makefile 介绍

make 命令执行时,需要一个 Makefile 文件,以告诉 make 命令需要怎么样的去编译和链接
程序。
我们的规则是:
1)如果这个工程没有编译过,那么我们的所有 C 文件都要编译并被链接。
2)如果这个工程的某几个 C 文件被修改,那么我们只编译被修改的 C 文件,并链接目标程序。
3)如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的 C 文件,并链接目标程序。
只要我们的 Makefile 写得够好,所有的这一切,我们只用一个 make 命令就可以完成,make命令会自动智能地根据当前的文件修改的情况来确定哪些文件需要重编译,从而自己编译所需要的文件和链接目标程序。

Makefile书写规则

target … : prerequisites …
command


target 也就是一个目标文件,可以是 Object File,也可以是执行文件。还可以是一个标签(Label)。 prerequisites 就是,要生成那个 target 所需要的文件或是目标。 command 也就是 make 需要执行的命令。(任意的 Shell 命令)
示例:
在这里插入图片描述

优化

我们发现在写makefile时有大量文件名重复,我们可以使用三条规则对其进行优化。

1.使用变量
2.使用环境变量(指定搜索路径)
3.隐式推导
上边的例子经过优化后的代码为
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值