嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验二 Makefile实验.ppt

嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验二 Makefile实验.ppt

ID:50078862

大小:89.50 KB

页数:13页

时间:2020-03-08

嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验二 Makefile实验.ppt_第1页
嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验二 Makefile实验.ppt_第2页
嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验二 Makefile实验.ppt_第3页
嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验二 Makefile实验.ppt_第4页
嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验二 Makefile实验.ppt_第5页
资源描述:

《嵌入式系统实验教程 教学课件 作者 鲍喜荣 实验二 Makefile实验.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验二Makefile实验1提纲实验目的实验原理实验内容实验小结习题与思考题实验目的了解Makefile的概念和构成学会编写Makefile会使用GNUmake编译一个或者多个文件Makefile的规则如果这个工程没有编译过,那么我们的所有C文件都要编译并被链接。如果这个工程的某几个C文件被修改,那么我们只编译被修改的C文件,并链接目标程序。如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的C文件,并链接目标程序。Makefile的基本结构目标---需要由make工具创建的项目,通常是目标

2、文件和可执行文件。依赖---要创建的项目依赖于哪些文件命令---创建每个项目时需要运行的命令target:dependency...command...Makefile变量#DefinemacrosfornameofcompilerCC=gcc#DefineamacrofortheCCflagsCCFLAGS=-g//gcc指令的选项设置#Aruleforbuildingaobjectfiletest.o:test.ctest.h$(CC)-c$(CCFLAGS)test.cMakefile主要预定义变量

3、及隐含规则预定义变量及其含义CCCCFLAGS……GNUmake支持两种类型的隐含规则:后缀规则(SuffixRule)模式规则(patternrules)实验内容--使用命令编译程序使用命令编译程序$(CC)$(CFLAGS)hello.o-ohellohello.o:hello.c$(CC)$(CFLAGS)-chello.c-ohello.o实验内容--使用预定义变量$(CC)$(CFLAGS)$^-o$@hello.o:hello.c$(CC)$(CFLAGS)-c$<-o$@实验内容--使用预定

4、义变量对多个c文件编译all:hellohello:hello1.ohello2.o$(CC)$(CFLAGS)$^-o$@hello1.o:hello1.c$(CC)$(CFLAGS)-c$<-o$@hello2.o:hello2.c$(CC)$(CFLAGS)-c$<-o$@使用wildcard对多个.c文件编译wildcard’函数的一个功能是找出目录中所有的’.c’文件:$(wildcard*.c)SOURCES=$(wildcard*.c)这行会产生一个所有以'.c'结尾的文件的列表,然后存入变

5、量SOURCES里。当然你不需要一定要把结果存入一个变量。使用wildcard对多个.c文件编译CC=gccCFLAGS=-Wall-O2/*-wall:生成所有级别警告信息,-O2:比-01进行更多的代码优化*/CFILES=$(wildcard*.c)OBJS=$(CFILES:%.c=%.o)all:hellohello:$(OBJS)$(CC)$(CFLAGS)-ohello$(OBJS).c.o:思考与习题工程中多级目录中存在着多个makefile时,编译的顺序如何?如果要编译生成的文件能够在E

6、ELIOD实验平台上面使用,应该怎么对makefile修改?

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。