秒懂Linux之自动化构建工具-make/Makefile

fe594ea5bf754ddbb223a54d8fb1e7bc.gif

目录

一.前文摘要

二.make/Makefile


一.前文摘要

在学习自动化构建工具前我们先来补充一下动静态库的相关指令

动态库指令

gcc -o 文件(重命名) 源文件 

静态库指令

gcc -o 文件(重命名) 源文件 -static

二.make/Makefile

怎么形容这个呢~等我们使用后就知道为什么叫自动化了~

首先我们需要创建一个名为Makefile(makefile)且必须是该名字,然后我们vim进入该文件进行编写~

第一行为依赖关系:mybin是我们想要得到的可执行文件的命名,而test.c为源文件~

第二行为依赖方法:就是我们想要达到的目的——得到可执行文件(注意:必须前面tab有4格距离)

编写完成后我们只需要输入make指令~它就会自动帮我们生成可执行文件了~

我们还可以加入clean在里面编写删除文件的操作,这样只需要输入make clean就会帮助我们执行该操作了~

当我们尝试更改顺序后会发现make指令变成了clean操作,而生成可执行文件得用make mybin~

这是因为Makefile在形成文件的时候,默认是从上往下扫描的,所以指令语法上也会对应~

语法补充~

用.PHONY修饰clean后无论是否存在clean这个文件,都会去执行rm语句~

小知识点~

一般默认形成的都是第一个文件且只能生成一个,意味着不能多次make~

只有在重新对源文件作出修改的时候才可以重新使用make~那么我们通过什么来作为make可以使用呢?——通过对比Makefile文件与源文件test.c的修改时间~源文件时间更新说明就修改了~

我们用stat指令获取到了相关的时间,那么这3种时间哪个才是可以比较的时间呢?

Modify显示的是对文件内容作出修改的时间点~

Change显示的是对文件属性作出修改的时间点~

而一般modify都会带动chang的更新,因为文件内容的修改会影响到大小,而大小是属于文件属性的一部分~

Access显示的是访问的时间,(不过不可能实时更新,而是达到一定访问次数更新,节省成本)

而我们比较的时间是Modify,这很合理~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值