- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 1 Makefile 一、Makefile介绍 * 赵干zhaogan1986@126.com Makefile 或 makefile: 告诉make维护一个大型程序, 该做什么。Makefile说明了组成程序的各模块间的相互 关系及更新模块时必须进行的动作, make按照这些说明自动地维护这些模块。 执行make命令时,需要一个?Makefile?文件,以告诉make命令需要怎么样的去编译和链接程序。 Makefile是一个文本形式的数据库文件,其中包含一些规则来告诉make处理哪些文件以及如何处理这些文件。这些规则主要是描述哪些文件(称为target目标文件,不要和编译时产生的目标文件相混淆)是从哪些别的文件(称为dependency依赖文件)中产生的,以及用什么命令(command)来执行这个过程。 * 二、Makefile里有什么呢? Makefile里主要包含了五个部分内容:显式规则、隐式规则、变量定义、文件指示和注释。 * 1、显式规则。显式规则说明了如何生成一个或多个目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。 2、隐晦规则。由于make有自动推导的功能,所以隐式规则可以让我们比较粗糙地简略地书写Makefile,这是由make支持的。 3、变量的定义。在Makefile中我们要定义一系列的变量,变量一般都是字符串,这个有点你C语言中的宏,当Makefile被执行时,其中的变量都会被扩展到相应的引用位置上 4、文件指示。其包括了三个部分,一个是在一个Makefile中引用另一个Makefile,就像C语言中的include一样;另一个是指根据某些情况指定Makefile中的有效部分,就像C语言中的预编译#if一样。 5、注释。和UNIX的Shell脚本一样Makefile中只有行注释, 其注释是用“#”字符,这个就像C/C++中的“//”或者“ /*”。 在Makefile中的命令,必须要以[Tab]键开始!!! * Makefile的默认文件名为GNUmakefile、makefile或Makefile,多数Linux程序员使用第三种。 执行make命令时,会对磁盘上的文件进行检查,如果目标文件的生成或被改动时的时间至少比它的一个依赖文件还旧的话,make就执行相应的命令,以更新目标文件。目标文件不一定是最后的可执行文件,可以是任何一个中间文件并可以作为其他目标文件的依赖文件。 * 引用其它的Makefile 在Makefile使用include关键字可以把别的Makefile包含进来,这很像C语言的#include,被包含的文件会原模原样的放在当前文件的包含位置。include的语法是: ???? include?filenamefilename可以是当前操作系统Shell的文件模式(可以保含路径和通配符) Make支持三种通配符: “*”、“?”、“[…]” include?foo.make?*.mk?$(bar)等价于:??include?foo.make?a.mk?b.mk?c.mk?e.mk?f.mk * 赵干zhaogan1986@126.com 三、Makefile的规则 Makefile文件主要含有一系列的规则,每条规则包含以下内容: 一个目标(target),即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如“clean”。 一个或多个依赖文件(dependency)列表,通常是编译目标文件所需要的其他文件。 一系列命今(command),是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,且每个命令行的起始字符必须为TAB字符。 * 例如,有以下的Makefile文件: # 一个简单的Makefile的例子 # 以#开头的为注释行 test:prog.o code.o gcc –o test prog.o code.o ?prog.o:prog.c prog.h code.h gcc –c prog.c –o prog.o ?code.o:code.c code.h gcc –c code.c –o code.o ?clean: rm –f *.o * 上面的Makefile文件中共定义了四个目标:test、prog.o、code.o和clean。目标从每行的最左边开始写,后面跟一个冒号(:),如果有与这个目标有依赖性的其他目标或文件,把它们列在冒号后面,并以空格隔开。然后另起一行开始写实现这个目标的一组命令。在Makefile中,可使用续行号(\)将一个单独的命令行延续成几行。但要注意在续行号(\)
您可能关注的文档
- 第二十二章能源与可持续发展章末整理与复习(4352KB).ppt
- 第二十二章通货膨胀1第一节描述(211KB).ppt
- 第二十二章通货膨胀外校(228KB).ppt
- 第二十二章一周一练(3083KB).ppt
- 第二十二章易错课堂二二次函数(1461KB).ppt
- 第二十二章易错盘点(987KB).ppt
- 第二十二章专题课堂二二次函数的综合运用(1588KB).ppt
- 第二十九章29.3课题学习制作立体模型(702KB).ppt
- 第二十九章(2471KB).ppt
- 第二十九章节课件(249KB).ppt
- 2025年市总工会党组书记、市委组织部部长生活会“四个带头”个人对照检查发言材料2篇(含上年度整改+个人情况、个人事项+典型案例).docx
- 2025年部编版小学六年级下册《道德与法治》第四单元 让世界更美好第10课 我们爱和平教学课件.pptx
- 公司领导班子2025年围绕“四个带头”主题检视问题整改落实方案与组织生活会批评意见(20条)2篇文.docx
- 教育系统党组班子2025年对照“四个带头”含意识形态、以典型案例举一反三解析检视材料【2篇文】.docx
- 2025年国有企业领导班子、学校副校长生活会“四个带头”方面对照个人检视发言材料2篇文(附:上年度整改情况、典型案例解析).docx
- 2025年生活会“四个带头”个人对照检查材料2篇文(含对其他领导批评意见,个人公开事项申报、意识形态).docx
- 2025年国有企业党委书记、领导班子生活会“四个带头”方面对照检查发言材料2篇文(上年度整改情况).docx
- 乡镇领导班子、市委组织部常务副部长2025年对照“四个带头”含违纪行为为典型案例的剖析与反思检视剖析材料{2篇文}.docx
- 市委社会工作部2025年生活会领导班子对照检视发言材料2篇文(含以案为鉴,深刻反思存在问题、反面典型案例举一反三解析、其他需要说明情况).docx
- 2025年民主生活会、组织生活会批评意见(20条)与市直单位领导班子“四个带头”对照检查材料【含上年度查摆问题整改落实情况】2篇文.docx
最近下载
- 专题06阅读修辞手法(比喻、拟人)赏析 部编版四年级语文下册阅读理解专项.ppt
- 2023年全国中学生数学奥林匹克竞赛(预赛)(浙江省六校第四次数学竞赛联考)一试试题(模拟4).pdf VIP
- P9工作法:夯实技术硬实力、架构力和领导力_随笔.docx VIP
- 金属非金属矿山从业人员安全生产培训教材.pptx VIP
- 燃机IGV进口导叶工作原理介绍.doc
- 2024年湖南高速铁路职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
- 2023-2024学年北京市高二下册第一次月考数学试题(含解析).pdf
- 200项施工现场常见安全隐患.ppt
- 动脉粥样硬化和冠状动脉粥样硬化性心脏病 ppt课件.pptx VIP
- 2024年南京机电职业技术学院单招职业适应性测试试题及答案解析.docx
文档评论(0)