- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工程管理器Makefile make的自动推导 例: OBJ= main.o mytool1.o mytool2.o CC=gcc main:$OBJ $CC -o main $OBJ main.o: mytool1.h mytool2.h mytool1.o: mytool1.h mytool2.o: mytool2.h 工程管理器Makefile 模式规则 可以使用模式规则来定义一个隐含规则。一个模式规则类似一般的规则,只是在规则中,目标的定义需要有“%”字符。“%”的意思是表示一个或多个任意字符。在依赖目标中同样可以使用“%”,只是依赖目标中的“%”的取值,取决于其目标。 说明:“%”的展开发生在变量和函数的展开之后,变量和函数的展开发生在make载入Makefile时,而模式规则中的“%”则发生在执行make时。 工程管理器Makefile 模式规则 例: CC=gcc CFLAGS= CPPFLAGS= ?%.o?:?%.c ? $(CC)?-c?$(CFLAGS)?$(CPPFLAGS)?$?-o?$@ 这个例子表示了,把所有的.c文件都编译成.o文件。 其中,$@表示所有的目标的挨个值,$表示了所有依赖目标的挨个值。这些变量叫自动化变量。 工程管理器Makefile 引用其他的Makefile文件 在一个Makefile文件中,可以使用include 关键字 把别的Makefile包含进来。被包含的文件会原 模原样地放在被包含的位置上。 include的语法: include filename make首先会在当前目录下去找,如果当前目录下没找到,则继续在以下目录中去寻找: 1 如果make执行时,有-I参数或--include-dir参数,make就会在参数指定的目录中去找。 2 如果目录prefix/include存在,(一般是/usr/local/bin或/usr/include),make也会到这些目录中去找。 工程管理器Makefile 文件搜寻 在一些大的工程中,有大量的源文件,通常的 做法是把源文件分类,放在不同的目录中。当 make需要去找寻文件的依赖关系时,可以在文 件前加上路径 。 Makefile文件中的特殊变量VPATH VPATH = src:../headers 指定两个目录,“src”和“../headers”,make会按照这个顺序进行搜索。 make的“vpath”关键字 有三种使用方法。 工程管理器Makefile 文件搜寻 make的“vpath”关键字 有三种使用方法。 1、vpath pattern directories ??? 为符合模式pattern的文件指定搜索目录directories。 ??? 2、vpath pattern ??? 清除符合模式pattern的文件的搜索目录。 ??? 3、vpath ??? 清除所有已被设置好了的文件搜索目录。 工程管理器Makefile 文件搜寻 make的“vpath”关键字 pattern需要包含“%”字符。“%”的意思是匹配零或若干字符。 例: %.h 表示所有以“.h”结尾的文件。 例: ??? vpath %.h ../headers 表示要求make在“../headers”目录下搜索所有以“.h”结尾的文件。(如果某文件在当前目录没有找到的话) vpath %.c foo:bar vpath %.c?? blish 连续使用vpath 工程管理器Makefile 伪目标 如果你的Makefile需要一口气生成若干个可执行文件,但你只想简单地敲一个make,并且,所有的目标文件都写在一个Makefile中,那么你可以使用“伪目标”这个特性 例: all : prog1 prog2 prog3 .PHONY : all ?prog1 : prog1.o utils.o??????????? cc -o prog1 prog1.o utils.o ?prog2 : prog2.o??????????? cc -o prog2 prog2.o ?prog3 : prog3.o sort.o utils.o??????????? cc -o prog3 prog3.o sort.o utils.o 工程管理器Makefile 伪目标 Makefile中的第一个目标会被作为其
您可能关注的文档
- 高考冲刺--2011高考迎考讲座幻灯片.ppt
- Linguistics调整后Lecture15LanguageAcquisition幻灯片.ppt
- 高考冲刺复习幻灯片.ppt
- Linguistics调整后Lecture0304TheSoundsofLanguage2章节幻灯片.ppt
- 高考冲刺幻灯片.ppt
- 2TDLTE基本原理幻灯片.pptx
- 高考冲刺阶段语文复习策略管窥幻灯片.ppt
- Linguistics调整后Lecture0304TheSoundsofLanguage幻灯片.ppt
- Linguistics调整后Lecture0506Morphology2章节幻灯片.ppt
- 高考冲刺为实现梦想而奋斗不止——最后40天课件幻灯片.ppt
最近下载
- 2024年智慧水产养殖解决方案.pptx VIP
- 三年级上册班队活动教案(16次).doc VIP
- 小学二年级地方课教案.docx VIP
- 高中课件:原创历史第4课 西汉与东汉——统一多民族封建国家的巩固.pptx
- NBT47041_2014塔式容器国家标准.pdf VIP
- 《水文自动测报系统技术规范》(SL61-2003).pdf VIP
- 2024廉政教育警示党课违反廉洁纪律案例剖析党课PPT.pptx VIP
- 纪念中国人民抗日战争暨世界反法西斯战争胜利80周年主题党课PPT(优质ppt).pptx VIP
- 第一章第二节牵出线调车作业概要.ppt VIP
- 气瓶安全使用与管理规范.pptx VIP
文档评论(0)