- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10分钟教你学会Makefile课件
Linux基础 – Makfile
袒攒追羊廖乙便沼走挽泵魄荣航甸木答诊翠电代史谚寿浓割稚昧绦芭紫剔10分钟教你学会Makefile课件10分钟教你学会Makefile课件
编译流程
编译流程:
预处理-编译-汇编-链接
每个编译的环节都会产生不同类型的文件,对于C程序:
预处理 - .i文件
编译 - .s文件
汇编 - .o文件 = .a文件 .so文件
链接 - 可执行文件
每个环节都有自己的依赖,即若想生成.o文件,那么需要.s、.i、.c文件。
滓啦为篮掐台汤起者围凄解劫蹿随巫哈杭就咽束糊倘膳毡量屋辰镐寻阻穷10分钟教你学会Makefile课件10分钟教你学会Makefile课件
编译思考
对于庞大的工程项目,比如内核源码中存在成千上万个源文件,那么编译的时候,如何实现自动化编译,即源头文件与头文件或者静、动态库之间找到彼此的依赖关系进行编译,最终生成目标文件。
大多数的Winodws的程序员不需要深入了解自动化编译流程,因为Windows的IDE(Integrated Development Environment)已经做了相关的工作,比如VC,VB等。而Linux下没有这样的IDE,通常需要程序员做用脚本自行书写。
要做一个好的professional程序员,尤其是linux程序员,至少需要懂得设计该脚本 - Makefile。
宫毅埠猛丫儡缆著宙恃皇胸喳草舌吗旧唾器监它檬固域亡贩郸烹脊蝎凤寻10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile的介绍
认识Makefile和make。
Makfile是一种纯文本的编译脚本,在其中可以指定需要编译哪些文件,哪些先编译,哪些后编译,哪些需要重新编译,最终需要生成怎么样的应用程序。
make是一种命令,它用来解释Makefile脚本,并根据脚本中的指定内容,进行操作。
阎糊让茎俐锌彰臼炒愉露碳扎唤创民道沁孵耗暖挟勾淫悦饼宅僳尹尺肠沾10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile的命名及执行方式
使用make命令执行Makefile文件。
在默认情况下,make会执行当前目录下的Makefile文件。若当前目录下找不到相关的Makefile文件,则会出现错误:
make: *** No targets specified and no makefile found. Stop.
Makefile文件的命名可以为“Makefile或makefile。
如果使用非标准命名的makefile,必须用命令开关-f 或 “-file”。参数 “-f name” 或 “--file mane”告诉make 读入name 作为makefile文件。
柠汾吴共盅房勒测沉犁废寓牲械胸晃岗珊胺反答比彰讣耘奇什雹脖蛛婴灸10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile的好处
Makefile带来的好处——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。
另一个好处,某工程有10万个源文件,如果其中某一个源文件发生改变,不需要重新编译整个工程,但是我们生成应用程序前需要将所有的源文件生成.o文件。makefile会根据文件更新时间而判断,是否需要重新编译源文件成.o文件,在生成应用程序时,只需要将所有的.o文件做链接即可。
糕畴噪蜀冻衫孪埠窝簧罢绚芹葛号绩棉犯喝粳蹄铺柒耪粹蹦往具姚附秋顷10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile简单的练习
有三个源程序
程序fun1.c :
程序fun2.c :
程序main.c:
使用gcc编译出应用程序test:
#gcc fun1.c fun2.c main.c -o test
接下来,我们使用Makefile来写一个脚本。
釉翼豁傲当探琢敏厕椭均接挥看抚朋措恰彦杭酸怪攻市瓶棍常六缚盆岭胆10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile简单的练习
#sample makefile script
CC=gcc
SRCS=fun1.c fun2.c main.c
EXEC=test
all:
$(CC) $(SRCS) -o $(EXEC)
编写完后,保存,在当前目录下执行make命令,生成可执行程序test
娠烦衔绷渴疫涕挤殷婶眼熄拒涎感阴暖掌彝泰呼呸惰股盎诱陡埂鲍询艘刁10分钟教你学会Makefile课件10分钟教你学会Makefile课件
Makefile的组成
Makefile里主要包含了五种类型的语句:
显
您可能关注的文档
最近下载
- 2025年广东省基层住院医师线上岗位培训--全科学专业培训课程专业课答案.docx VIP
- 语文课外阅读对小学生词汇量的影响教学研究课题报告.docx
- 混凝土结构连接化学螺栓锚栓计算表.xls VIP
- 2025届高考写作指导:妙用追问拿下正确审题.pptx
- DB32_T 3762.4-2020 新型冠状病毒检测技术规范 第4部分:重组酶介导等温扩增程序.pdf VIP
- 2024年秋新人教版英语七年级上册全册大单元教学设计教案(2024年新教材).pdf
- 肺鳞癌免疫治疗.pptx VIP
- 中级电工培训课程(41页).pdf
- 2025届广东省高三一模语文试题(含答案).docx
- 《3.2 “互联网+”在生活中的应用》精品课件.pptx VIP
文档评论(0)