- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
03_嵌入式Linux系统项目工程管理.ppt
* * * * 自动变量示例 内置规则 用GCC编译一个程序的步骤都是固定的,GNU make 会内置有一些规则。来 简化这一些固定步骤 1、隐式规则 (1)隐式规则告诉make怎样使用传统技术完成任务,不必在Makefile中指定编译的具体细节,而只需要把目标文件列出来即可 (2)make自动使用隐式规则来确定如何生成目标文件 (3)最重要的隐式规则:所有的“file.o”文件都可以自动由file.c文件使用命令$(CC) $(CFLAGS) -c file.c -o file.o生成. 隐式规则示例 内置规则 2、模式规则 (1)有时候多个文件具有相同的处理规则,这时候就要自定义模式规则,即相同模式的目标共用的规则 (2)所有的.o文件依赖于对应的.c文件的模式规则 %.o: %.c $(CC) $(CFLAGS) -c $ -o $@ (3)模式规则会覆盖隐式规则,一般建议Makefile都用自己隐含规则来代替 缺省规则,这样比较容易读懂,并且容易调整 模式规则示例 课程安排 Linux项目工程管理的概念 项目工程管理文件Makefile Autotool自动生成Makefile Linux开源项目嵌入式移植 Autotools简介 较大项目Makefile都是相当复杂,手工编写有相当难度 而且Makefile而且常常会受到自己的开发环境的限制,只要环境参数不同或者路径更改,可能 Makefile就得跟着修改 那么有没有为复杂工程自动生成Makefile的方法? Autotools:辅助生成Makefile的GNU工具应运而生! 绝大部分开源项目都是用Autotools生成Makefile,因此Autotools是嵌 入式Linux开发必须掌握的工具集。 Autotools必要工具 autoconf: 生成可以自动地配置软件源码包,用以适应多种UNIX类系统的shell脚本工具,最后生成可执行程序configure automake:从Makefile.am文件自动生成Makefile.in的工具,configure程序使用Makefile.in生成Makefile libtool:方便生成各种程序库的工具 Automake流程图 1 3 2 4 5 6 7 Autotools项目配置过程 1、准备automake必需的配置文件Makefile.am (1)为顶层目录创建Makefile.am文件 AUTOMAKE_OPTIONS=foreign #指示automake代码级别,默认级别为gnu,GNU规定自由软件发布必 NEWS/README/AUTHORS/ChangeLog说明文件,这里将级别降为foreign,从而 避免准备这些文件. SUBDIRS=src inc #指定需要处理的子目录,如果要处理多个子目录,以空格隔开.这里只 有src inc Autotools项目配置过程 ROOTDIR=$(shell /bin/pwd) #利用pwd取得当前路径 export INCLUDES=-I$(ROOTDIR)/inc #指定头文件所在路径,并导出供子目录Makefile.am使 bin_PROGRAMS=target #指定要产生的执行文件名 target_SOURCES=main.c 指定产生执行文件需要的源文件,如果有多个,以空格隔开 target_LDADD=$(ROOTDIR)/src/libname.a(利用src创建静态库) 或者 LIBS+=... 增加链接库 Autotools项目配置过程 (2)、在src子目录创建Makefile.am文件 noinst_LIBRARIES=libname.a (自己定义的静态库名) #在src子目录生成静态库libname.a,以便顶层目录主文件链接使用 libname_a_SOURCES(与库名对应)=src1.c src2.c(对应.c文件名) #产生静态库libname.a需要的源文件,以空格隔开 Autotools项目配置过程 (3)、在inc目录增Makefile.am EXTRA_DIST=inc1.h inc2.h (对应.h文件名) #EXTRA_DIST表示用来定义要额外打包的文件名称 Autotools项目配置过程 3、在给定目录及其子目录中搜索源文件,生成模板文件 ./autoscan 4、准备autoconf必需的配置文件configure.in 将configure.scan更名为configure.in,并对脚本进行如下修改 (1)修改AC_INIT宏,指定软件包名称/版本/bug报告地址 (
您可能关注的文档
- 香港选举保密协议.pdf
- 骨干教师业务讲座.doc
- 骨干教师汇报材料.doc
- 骨干教师管理办法(改).doc
- 骨干教师考试试题2.doc
- 骨髓基质干细胞的定向迁移及其信号转导机制.pdf
- 髂静脉狭窄综合征合并下肢静脉曲张的一站式介入治疗附15例报告.pdf
- 高一下学期期末测试题.doc
- 高一数学上册每周一练检测试题9.doc
- 高三语文一轮复习标点符号教学案.doc
- 2024焊工考试每日一练试卷【历年真题】附答案详解.docx
- 2024焊工考试模考模拟试题附答案详解(综合题).docx
- 2024焊工考试模考模拟试题附答案详解【达标题】.docx
- 2024焊工考试模考模拟试题附参考答案详解【培优A卷】.docx
- 2024焊工考试每日一练试卷【全国通用】附答案详解.docx
- 第四章整式的加减(A卷)单元过关测验 (含解析)人教版七年级数学上册.docx
- 2024焊工考试模考模拟试题【重点】附答案详解.docx
- 2024焊工考试模拟题库附答案详解【预热题】.docx
- 2024焊工考试模考模拟试题及参考答案详解(考试直接用).docx
- 2024焊工考试模拟题库附参考答案详解【考试直接用】.docx
文档评论(0)