FPG上嵌入式系统创新设计实例作者赵峰第2章.ppt

FPG上嵌入式系统创新设计实例作者赵峰第2章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
  ?OBJS = main.o kbd.o   CC = cc   edit: $(OBJS) ?????   $(CC) $^ -o $@   main.o : main.c defs.h   kbd.o : kbd.c defs.h command.h   为什么可以省略后两句呢?make可以自动推导文件以及文件依赖关系后面的命令,没必要在每一个?.o文件后写同名的?.c文件,以及编译命令,此即make命令的“隐式规则”。   表2.3.3给出了常见的隐式规则目录。 表2.3.3 Makefile中常见的隐式规则目录 $(FC)-c $(FFLAGS) Fortran编译:.r变为?-o $(PC)-c $(PFLAGS) Pascal编译:.p变为?.o $(CXX)-c $(CPPFLAGS) $(CXXFLAGS) C++编译:.cc或?.C变为?.o $(CC)-c $(CPPFLAGS) $(CFLAGS) C编译:.c变为?.o 规??? 则 对应语言后缀名   2.模式规则   模式规则是用来定义相同处理规则的多个文件的。它不同于隐式规则,隐式规则仅仅能够用make命令默认的变量来进行操作,而模式规则还能引入用户自定义变量,为多个文件建立相同的规则,从而简化Makefile的编写。   模式规则的格式类似于普通规则,这个规则中的相关文件前必须用“%”标明。使用模式规则修改后的Makefile的编写如下:   OBJS = main.o kbd.o   CC = cc   edit: $(OBJS)   ????? $(CC) $^-o $@   %.o : %.c   ????? $(CC)-c $-o $@   使用Make工程管理器非常简单,只需在make命令的后面键入目标名即可建立指定的目标,如果直接运行make命令,则需建立Makefile中的第一个目标。   此外,make还有丰富的命令行选项,可以完成各种不同的功能。表2.3.4列出了常用的make命令行选项。 表2.3.4 make的命令行选项 如果make在执行过程中改变目录,则打印当前目录名 -w 在执行命令时不显示命令 -s 显示make变量数据库和隐含规则 -p 只打印要执行的命令,但不执行这些命令 -n 指定被包含的Makefile所在目录 -I dir 忽略所有的命令执行错误 -i 读入当前目录下的file文件作为Makefile -f file 读入指定目录下的Makefile -C dir 含??? 义 命令格式 2.3.5  使用autotools   本节要讲的autotools系列工具正是为此而设的,它只需用户输入简单的目标文件、依赖文件、文件目录等就可以轻松地生成Makefile,这无疑是广大用户所希望的。另外,这些工具还可以完成系统配置信息的收集,从而可以方便地处理各种移植性的问题。也正是基于此,现在Linux上的软件开发一般都用autotools来制作Makefile。   autotools是系列工具,首先要确认系统是否安装了以下工具(可以用which命令进行查看):aclocal、autoscan、autoconf、autoheader、automake。   使用autotools主要就是利用各个工具的脚本文件来生成最 后的Makefile。其总体流程是:使用aclocal生成一个“aclocal.m4”文件,该文件主要处理本地的宏定义;改写“configure.scan”文件,将其重命名为“configure.in”,并使用autoconf文件生成configure文件。   通过autotools,用户不再需要定制不同的规则,而只需要输入简单的文件及目录名即可,这样就大大方便了用户的使用。图2.3.1总结了上述过程。 图2.3.1 由autotools生成的Makefile流程图 2.4 版 本 控 制   版本控制(Revision Control)也被称为Version Control(System)或(Source)Code Management,用来管理同一信息单元的不同版本。它常用于软件开发过程中,用来管理诸如源代码、文档或其他被整个开发人员所共有的资源,借以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。版本控制会记录所有对源代码或文档的改动,并会用一个数字来加以标记,这个标记被称为版本(Revision)。例如,一种简单的版本控制形式如下:最初的版本指定为“1”,在做了改变之后,版本编号增加为“2”,依此类推。 2.4.1 版本管理模型   1.集中式模型   传统的版本管理系统都是采用集中式模型,即所有的版本控制活动都发生在一个共享的中心版本库中。如果两个开

文档评论(0)

duoduoyun + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档