Linux下makefile的简单使用

为什么要使用make?

Make命令允许你管理大型程序或一组程序(groups of programs)。当你开始编写大型程序时,你会发现重编译(re-compiling)大型程序比小型程序花费更多的时间。另外也会注意到,你经常仅仅在一小部分程序上工作(例如你正在调试的一个函数),剩余的大部分程序保持不变。
make程序帮助你开发大型程序。它跟踪自上次编译之后,整个程序中发生变化的部分,并仅仅编译这些程序。

makefile又是干什么的?

makefile其实就是一个文档,里面定义了一系列的规则指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,它记录了原始码如何编译的详细信息! makefile一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

Makefile文件编写规范:

  1. 目标:依赖文件
  2. $^ 代表所有依赖文件
  3. $< 代表第一个依赖文件
  4. % 代表通配符
  5. @指令:屏蔽指令
  6. 定义变量(变量大写)
  7. 变量名=值1 值2 …
  8. 使用变量 $(变量名)

示例
当我们有多个文件,最后想得到一个main文件时,
在这里插入图片描述
从上面图片可以看出我需要编译很多个文件,这样的话命令十分的长,我每次修改代码后都需要重新编译执行,就很复杂麻烦。所以需要makefile来帮助我们实现。下面是makefile的简单使用:
1,使用vim Makefile创建
2,进行编辑

  1 APPNAME=tlv_server
  2 
  3 CC=gcc
  4 
  5 all:
  6                 ${CC} tlv.* -o ${APPNAME} $^ -lsqlite3  
  7 
  8 clean:
  9                 rm -rf ${APPNAME}
 10 
 11 

3.我们就可以看到目录下,已经创建好了可执行文件tlv—server
在这里插入图片描述
在这里插入图片描述
4.如果需要删除:
在这里插入图片描述

make工作流程

1、make会在当前目录下找名字叫”Makefile”或”makefile”的文件。

2、如果找到,它会找文件中的第一个目标文件(target)并把这个文件作为最终的目标文件

3、根据时间戳生成目标文件

4、递归去寻找目标文件依赖文件,并且递归生成(同样有时间戳问题)。

makefile 管理命令
-C dir 读入指定目录下面的makefile

-f file 读入当前目录下的file文件为makefile

-i 忽略所有命令执行错误

-I dir 指定被包含的makefile所在目录

总结: makefile的使用极大的提升了我们编译的效率,当然还有其他很多的用处,编写方法,本人学习到的有限,可以查看makefile详细的介绍学习

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值