- 6
- 0
- 约8.49千字
- 约 51页
- 2018-12-28 发布于福建
- 举报
嵌入式lin是ux系统项目工程管理
* * * * 自动变量示例 内置规则 用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报告地址 (
您可能关注的文档
最近下载
- 成都市金牛区2025年网格员面试题库及答案.docx VIP
- 2025大兴安岭职业学院单招《数学》考试综合练习及答案详解(考点梳理).docx VIP
- 某某市委副书记在全市关工委工作会议上的讲话.doc VIP
- 2026年南阳农业职业学院单招职业技能考试题库及答案详解(夺冠).docx VIP
- (2026)中华护理学会成人肠内营养支持护理团标PPT课件.pptx VIP
- 丰田工程标准 TSG 3109G 合金化镀锌钢板.pdf VIP
- 耳穴疗法治疗失眠应用规范.pptx
- (高清版)ZT 0217-2020 石油天然气储量估算规范.pdf VIP
- 浙江农村信用社招聘-2025宁波慈溪农村商业银行春季招聘90人笔试备考题库及答案解析.docx VIP
- 村“两委”干部培训党课讲稿:新时代党员的责任与担当.docx VIP
原创力文档

文档评论(0)