makefile 文件编写规则

在 Makefile 中也#开始的行都是注释行.Makefile 中最重要的是描述文件的依赖关系的说 明.一般的格式是:
target: components
TAB rule
第一行表示的是依赖关系.第二行是规则.

Makefile 有三个非常有用的变量.分别是 @, ^, <: <script type="math/tex" id="MathJax-Element-93">< 代表的意义分别是: </script>@ –目标文件
<–第一个依赖文件.
如果我们使用上面三个变量,那么我们可以简化我们的 Makefile 文件为:

这是简化后的 Makefile

main:main.o mytool1.o mytool2.o
    gcc -o $@ $^
main.o:main.c mytool1.h mytool2.h
    gcc -c $<
mytool1.o:mytool1.c mytool1.h
    gcc -c $<
mytool2.o:mytool2.c mytool2.h
    gcc -c $<

经过简化后我们的 Makefile 是简单了一点,不过人们有时候还想简单一点.这里我们学习 一个 Makefile 的缺省规则

..c.o:
gcc -c $<

这个规则表示所有的 .o 文件都是依赖与相应的.c 文件的.例如 mytool.o 依赖于 mytool.c 这样 Makefile 还可以变为:

这是再一次简化后的 Makefile

main:main.o mytool1.o mytool2.o
    gcc -o $@ $^

..c.o:
    gcc -c $<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值