当前位置: 首页 > news >正文

Linux--makefile

一、makefile的作用

makefile是一个文件,是围绕依赖关系和依赖方法的自动化编译工具

一个工程中的源文件有很多,按照不同的类型、功能、模块放在不同的目录中。而makefile定义了一系列的规则来指定,那些文件需要先编译,那些文件需要后编译,以及更加复杂的功能

makefile的好处:自动化编译。makefile在编写完成后,只需要执行make命令,就可以对整个工程进行自动编译,提高了软件开发的效率

make是一条命令,用来运行makefile文件。makefile是一个文件,用于定义编译的规则。两个搭配使用,完成项目自动化构建

二、使用方法

一个简单的makefile文件编写

test:test.cgcc -o test test.c
.PHONY:clean
clean:rm -f test

这段代码中的解释如下:

1)现有文件为test.c,目标文件为test。通过执行gcc生成test文件

2).PHONY的英文示意是伪造的、假的。因此代码可以简单理解为伪造了一个clean文件。执行clean文件就会执行下面clean内实现的语句rm -f test

程序执行结果如下:

三、问题 

问题一:如果连续执行两次make操作,是否会生成两个test可执行文件?

并不会重复生成文件,会提示可执行文件已经为最新

问题二:makefile如何得知是否需要重新执行呢?

通过对比时间来执行,可以使用stat命令来查看文件状态

如果源文件的更改时间比可执行文件的时间跟新,则重新生成可执行文件

可以通过touch测试,touch的功能是如果不存在文件则生成该文件,如果存在文件则更新该文件的时间

从下图可以看出,在touch后test.c的时间更新。因此make会重新生成新的可执行文件

http://www.lryc.cn/news/230470.html

相关文章:

  • Anaconda学习备忘
  • uniapp运行到安卓模拟器一直在“同步手机端程序文件完成“界面解决办法
  • leetcode:876. 链表的中间结点
  • 【m98】webrtc vs2017构建带符号的debug库
  • 【读点论文】结构化剪枝
  • JimuReport积木报表 v1.6.5 版本发布—免费报表工具
  • 【开发工具】gitee还不用会?我直接拿捏 >_>
  • 算法通关村——位运算之位移的妙用
  • 【开题报告】基于uni-app的高校新生报道APP的设计与实现
  • Elasticsearch docker-compose 使用 Logstash 从 JSON 文件中预加载数据
  • <文件操作及常用的API>
  • 深入探讨Linux中的文本文件查看命令
  • asp.net企业员工档案信息管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
  • WPF中的xmlns 和xmlns:x有什么区别?
  • 为什么流量卡禁区多,而手机卡却可以用呢?
  • Linux 桌面应用
  • NLP领域的突破催生大模型范式的形成与发展
  • 大模型的全面回顾,看透大模型 | A Comprehensive Overview of Large Language Models
  • 【瑞禧分享】碳化硅纳米线 SiC纳米线 <100nm SiC晶须 SiC短纤维
  • P3371 【模板】单源最短路径(弱化版)
  • 一文入门Springboot+actuator+Prometheus+Grafana
  • 基于Qt 多线程(继承 QObject 的线程)
  • 图论11-欧拉回路与欧拉路径+Hierholzer算法实现
  • (一)什么是Vite——vite介绍与使用
  • 直流电动机四象限运行控制变流器设计
  • 虹科示波器 | 汽车免拆检修 | 2021款广汽丰田威兰达PHEV车发动机故障灯异常点亮
  • 机器学习和深度学习领域的算法和模型
  • 减轻关键基础设施网络安全风险的 3 种方法
  • Redis的特性以及使用场景
  • 【python后端】- 初识Django框架