Makefile常见用法

Makefile 带来的好处就是“自动化编译” ,一旦写好,只需要一个 make 命令,整

个工程完全自动编译,极大的提高了软件开发的效率。 make 是一个命令工具,是一个
解释 Makefile 文件中指令的命令工具。

Makefile 的命名规则:

        目标: ... 依赖...

                命令

目标:生成的文件名

依赖:生成目标所需要的文件或是目标

命令:通过执行命令对依赖操作生成目标(命令前必须 Tab 缩进)

工作原理:
        执行命令
         执行命令之前,检查依赖->存在->执行该命令
        执行命令之前,检查依赖->不存在->向下查找其他规则( 检查有没有一个规则是用来生成这个依赖的)->找到了->执行该命令
        
        其他情况则不执行。
  Makefile 中的其它规则一般都是为第一条规则服务的。 
        检查更新
        比较目标与依赖文件的时间
        (1)目标时间晚于依赖->不更新
     (2)目标时间早于依赖->更新
举个例子:
   
         ​​​​​​​        
        图片中main.o 在执行 gcc main.c -c -o main.o 后才会生成,时间main.o晚于main.c,这个是正常下的情况;
        如果在sub.c文件里面添加一些代码,这个时候main.c已经是最新的了,和之前main.o相比时间已经比之前sub.o晚了,这个时候makefie则会更新。
        再使用make 则会先去更新main.o
Makefile里面添加了变量和函数用来简化程序员的日常工作;
        
这个效果和第一张图片实现的功能一样
        
模式匹配:

        

改进后与第一张图片功能一样:

函数:

        

改进后2.0:

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值