第三章 Makefile部分-刘晓杰.pptVIP

  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文档。上传文档
查看更多
第三章 Makefile部分-刘晓杰

:=和=的区别: AAA=abcd ? BBB=$(AAA) ? CCC:=$(AAA) ? AAA=cdef ? 此时,(BBB) 为 cdef (跟随AAA变化)。 此时,(CCC)为 abcd(不随AAA变化)。 ? 在Makefile还可以使用shell命令: CurrDir := $(shell basename `pwd`) foreach 函数 “foreach”不同于其它函数。它是一个循环函数。类似于Linux的shell中的for语句 语法如下: $(foreach VAR,LIST,TEXT) 函数功能 首先展开变量“VAR”和“LIST”的引用;而表达式“TEXT”中的变量引用不展开。执行时把“LIST”中使用空格分割的单词依次取出赋值给变量“VAR”,然后执行“TEXT”表达式。重复直到“LIST”的最后一个单词(为空时结束)。“TEXT”中的变量或者函数引用在执行时才被展开,因此如果在“TEXT”中存在对“VAR”的引用,那么“VAR”的值在每一次展开式将会到的不同的值。 返回值:空格分割的多次表达式“TEXT”的计算的结果。 if 函数 函数语法 $(if CONDITION,THEN-PART[,ELSE-PART]) 函数功能: 如果“CONDITION”的结果非空,则条件为真,就将第二个参数“THEN_PATR”作为函数的计算表达式;“CONDITION”的展开结果为空,将第三个参数“ELSE-PART”作为函数的表达式,函数的返回结果为有效表达式的计算结果。 返回值: 根据条件决定函数的返回值是第一个或者第二个参数表达式的计算结果。当不存在第三个参数“ELSE-PART”,并且“CONDITION”展开为空,函数返回空。 call函数 “call”函数是唯一一个可以创建定制化参数函数的引用函数。使用这个函数可以实现对用户自己定义函数引用 函数语法: $(call VARIABLE,PARAM,PARAM,...) 函数功能: 执行函数 返回值: 函数的返回值 value函数 函数语法 $(value VARIABLE) 函数功能: 不对变量“VARIBLE”进行任何展开操作,直接返回变量“VARIBALE”的值。 eval函数 函数语法: $(eval VARIABLE) 函数功能 函数“eval”是一个比较特殊的函数。使用它可以在Makefile中构造一个可变的规则结构关系(依赖关系链),其中可以使用其它变量和函数。 返回值:函数“eval”的返回值是空 origin函数 函数语法: $(origin VARIABLE) 函数功能: 函数“origin”查询参数“VARIABLE”(一个变量名)的出处。 返回值: 返回“VARIABLE”的定义方式。用字符串表示。 shell函数 函数功能 函数功能:函数“shell”所实现的功能和shell中的引用(``)相同。实现对命令的扩展。这就意味着需要一个shell 命令作为此函数的参数, 返回值:返回结果是此命令在shell中的执行结果。 make的控制函数 $(error TEXT…) 函数功能:产生致命错误,并提示“TEXT…”信息给用户,并退出make的执行。 $(warning TEXT…) 函数功能:函数“warning”类似于函数“error”,区别在于它不会导致致命错误(make不退出),而只是提示“TEXT…”,make的执行过程继续。 3.6 Makefile文件的编写 3.6.8、Makefile文件框架的自动生成 7、在Ex3-21工程目录下执行./autoconf命令,?生成configure和configure.in文件。 8、在Ex3-21工程目录下执行./automake --add-missing命令,?生成Makefile.in文件和install-sh、depcomp、missing三个链接文件。 9、在Ex3-21工程目录下执行./configure命令,?生成config.status文件和所需Makefile文件。 用make命令依据自动生成的Makefile文件编译工程并执行: make //编译工程 ./my_star //执行生成的可执行文件 可以看出,本程序执行效果与例3-3是一样的。 第3章 Linux操作系统下嵌入式系统 开发环境的建立 第三章 结束 3.6 Makefile文件的编写 3.6.4、Makefile文件中内嵌命令(函数)的使用 函数调用 GNU make函数的调用格式类似于变量的引用,以“

文档评论(0)

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

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

1亿VIP精品文档

相关文档