开发环境的搭建和开发工具介绍(第一部分) - 开发环境的搭建和开发工具教程教案.pptVIP

开发环境的搭建和开发工具介绍(第一部分) - 开发环境的搭建和开发工具教程教案.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
开发环境的搭建和开发工具介绍(第一部分) - 开发环境的搭建和开发工具教程教案.ppt

xlanchen@2006.5.18 Embedded Operating Systems makefile Makefile告诉make该做什么、怎么做 makefile主要定义了 1)依赖关系 即有关哪些文件的最新版本是依赖于哪些别的文件产生或者组成的 2)需要用什么命令来产生目标文件的最新版本 3)以及一些其他的功能 Makefile的规则 规则 一条规则包含3个方面的内容, 1)要创建的目标(文件), 2)创建目标(文件)所依赖的文件列表; 3)通过依赖文件创建目标文件的命令组 规则一般形式 target ... : prerequisites ... tabcommand tab... tab... 例如 test:test.c;gcc –O –o test test.c 一个简单的makefile edit : main.o kbd.o command.o display.o insert.o search.o files.o utils.o cc -o edit main.o kbd.o command.o display.o insert.o \ search.o files.o utils.o main.o : main.c defs.h cc -c main.c kbd.o : kbd.c defs.h command.h cc -c kbd.c command.o : command.c defs.h command.h cc -c command.c display.o : display.c defs.h buffer.h cc -c display.c insert.o : insert.c defs.h buffer.h cc -c insert.c search.o : search.c defs.h buffer.h cc -c search.c files.o : files.c defs.h buffer.h command.h cc -c files.c utils.o : utils.c defs.h cc -c utils.c clean : rm edit main.o kbd.o command.o display.o insert.o \ search.o files.o utils.o Make的工作过程 default goal 在缺省的情况下,make从makefile中的第一个目标开始执行 Make的工作过程类似一次深度优先遍历过程 Makefile 中的变量 使用变量可以 降低错误风险 简化makefile objects变量($(objects)) objects = main.o kbd.o command.o \ display.o insert.o search.o files.o utils.o edit : $(objects) cc -o edit $(objects) 有点像环境变量 环境变量在make 过程中被解释成make的变量 可以被用来 贮存一个文件名列表。 贮存可执行文件名。如用变量代替编译器名。 贮存编译器FLAG 预定义变量 Make使用了许多预定义的变量,如 AR AS CC CXX CFLAGS CPPFLAGS 等等 简化后的makefile文件 objects = main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o edit : $(objects) cc -o edit $(objects) main.o : defs.h kbd.o : defs.h command.h command.o : defs.h command.h display.o : defs.h buffer.h insert.o : defs.h buffer.h search.o : defs.h buffer.h files.o : defs.h buffer.h command.h utils.o : defs.h .PHONY : clean clean : rm edit $(objects) 内部变量 $@扩展成当前规则的目的文件名 $扩展成依靠列表中的第一个依靠文件 $^扩展成整个依靠的列表(除掉了里面所有重复的文件名) 等等 不需要括号括住 例如: CC = gcc CFLAGS = -Wall -O -g foo.o : foo.c foo.h bar.h ??$(CC) $(CFLAGS) -c $ -o $@ 隐含规则 (Implicit Rules) 内置的规则 告诉make当没有给出某

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档