- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章Make及makefile文件的编写
V 1.概述;Linux系统下的文件编译;什么是make?
Make是大型程序维护工具
Make工作时,需要名字为“ makefile,,的makefile文件
O
根据依赖关系自动决定项目的那些部分需要重新编 译。
基本原理:如果某个源程序文件被^改,那么依赖 这个源程序文件的所有目标文件,都需要重新编 译。;Makefile Rule;makefile规则介绍;makefile 文件
在makefile(Makefile)文件中,采用自顶向下到的方法来说明依赖 关系;执行make
在makefile(Makefile)文件所在的目录中,执行make命 令
语法:make[选项][宏定义][目标文件];Make的工作过程
1 .make在当前目录下找名字叫Makefile”或makefile”的文件
2. 如果找到,它会找文件中的第一个目标文件(target),比
如找到“network”这个文件,并把这个文件作为最终的目 标文件。
3. 如果network文件不存在,或是network所依赖的后面的.。文
件的文件修改时间要比network这个文件新??那么,他就会 扌丸行后面防定义白勺命令来生成network这个文件。
4. 如果network所依赖的文件也存在,那么make会在当前文
件中找目标为.。文件的依赖性,如果找到则再根据那一个 规则生成.。文件(使用源文件和?h文件)。(这有点像一 个堆栈的过程);make时,哪些文件被重新编译
1 .所有的源文件没有被编译过,则对各个c源文件 进行编译并进行链接,生成最后的可执行程序;
2. 每一个在上次执行make之后修改过的C源代码文 件在本make时将会被重新编译;
3. 头文件在上一次执行make之后被修改。则所有 包含此头文件的C源文件在本次执行make时将会 被重新编译。;关于Makefile文件名;对“规则”的再认识
在Makefile中“规则”就是描述在什么情况下、如 何重建规则的目标文件,
通常规则中包括了目标的依赖关系(目标的依赖文 件)和重建目标的命令。
make执行重建目标的命令,来创建或者重建规则的 目标(此目标文件也可以是触发这个规则的上一 个规则中的依赖文件)。
规则包含了目标和依赖的关系以及更新目标所要求 的命令。;—个简单的例子;使用变量
在上例的Makefile中可是添加这样一行:
objects = main.o kbd.o command.o display.o insert.o \search,o files.o utils.o
“objects〃作为一个变量,它代表所有的.。文件的列表,在需要 使用这些.。文件列表的地方使用“/objects)”来表示它
objects = main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
edit: $(objects)
gcc $(objects) -o edit;使用变量的例子
exe: main.o io.o;自动推导规则(隐含规则);清洗工作目录过程文件;第7章Make及makefile文件的编写
? 1 .概述
C 2. Makefile;Makefile的内容;makefile文件的命名;包含其它的Makefile;MAKEFILES 变量;MAKEFILE_LIST 变量
make程序在读取多个makefile文件时,在对这些文件 进行解析执行之前,将会被自动的追加到变量
“MAKEFILE LIST的定义域中。;make如何解析Makefile;第7章Make及makefile文件的编写
? 1 .概述
? 2. Makefile;Makefile 规则;终极目标
终极目标,就是执行make时,没有指明具体目标时 ,make默认的那个目标。
第1个规则有多个目标时,第1个目标为终极目标, 除非以下两种情况
1. 目标名以点号” .”隔开,其后没有斜线”/”
2. 作为模式规则的目标
“终极目标“是执行make的唯一目的,其所在的规 则作为第一个规则。;规则的语法;规则的核心思想
规则的中心思想就是:目标文件的内容是由依赖文 件决定,依赖文件的任何一处改动,将导致目前 已经存在的目标文件的内容过期。规则的命令为 重建目标提供了方法。这些命令运行在系统shell 之上。
规则中的命令被执行有两种情况
1. 目标文件不存在;
2. 存在一个依赖的最后修改时间比目标的最后修改时间 晚;依赖的类型
常规依赖
常规依赖中的任何一个文件更新,都会导致重建目标。常 用的形式
order?only依赖
在更新目标(目标文件已经存在)时,只需要根据依赖文 件中的部分来决
您可能关注的文档
- L4-Linuxのメモリ管理における問題点とその解決策.pptx
- JAVA与面向对象程序设计.pptx
- LINUX标准化情况与政府采购.pptx
- LabVIEW开发环境及程序设计基础(LabVIEW基础入门)_图文.pptx
- Linux操作系统课件相关附件:6739-3ppt-PowerPoint演示文稿.pptx
- Linux操作系统-第八章-文件系统管理.pptx
- Linux操作系统2[教程].pptx
- Linux系统操作与管理(20211008102702).pptx
- Linux操作系统安装与配置.pptx
- Linux系统操作与管理.pptx
- 实验室危废随意倾倒查处规范.ppt
- 实验室危废废液处理设施规范.ppt
- 实验室危废处置应急管理规范.ppt
- 初中地理中考总复习精品教学课件课堂讲本 基础梳理篇 主题10 中国的地理差异 第20课时 中国的地理差异.ppt
- 初中地理中考总复习精品教学课件课堂讲本 基础梳理篇 主题10 中国的地理差异 第21课时 北方地区.ppt
- 危险废物处置人员防护培训办法.ppt
- 危险废物处置隐患排查技术指南.ppt
- 2026部编版小学数学二年级下册期末综合学业能力测试试卷(3套含答案解析).docx
- 危险废物处置违法案例分析汇编.ppt
- 2026部编版小学数学一年级下册期末综合学业能力测试试卷3套精选(含答案解析).docx
原创力文档


文档评论(0)