[精品]makefile浏览整顿

[精品]makefile浏览整顿

ID:43721246

大小:12.24 KB

页数:5页

时间:2019-10-13

[精品]makefile浏览整顿_第1页
[精品]makefile浏览整顿_第2页
[精品]makefile浏览整顿_第3页
[精品]makefile浏览整顿_第4页
[精品]makefile浏览整顿_第5页
资源描述:

《[精品]makefile浏览整顿》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.高级语言编译出來的文件为:.0文件(称为冃标文件)6.将多个.O文件,或者.0文件和库文件链接成为可被操作系统执行的可执行程序文件,这个文件称为可执行文件,格式为”ELF”格式7.通常指示符"include"用在以下场合:1.有多个不同的程序,由不同目录下的几个独立的Makefile来描述其重建规则。它们需要使用一组逸用的变量定义(可参考6.5如何设置变量一节)或者模式规则(可参考10.5模式规兀一节)。通用的做法是将这些共同使用的变量或者模式规则定义在一个文件中(没有具体的文件命名限制),在需要使用

2、的Makefile中使用指示符“include”来包含此文件。2.当根据源文件自动产生依颠文件时;我们可以将自动产生的依赖关系保存在另外一个文件中,主Makefile使用指示符“泊elude”包含这些文件。这样的做法比直接在主Makefile中追加依赖文件的方法要明智的多。其它版本的make已经使用这种方式来处理。(参考4.14自动产生依颠一节)8.可以通过make的命令行选项或者Vob”来告诉make在同一时刻可以允许多条命令提示被执行5.4命令执行的错误逸常;规则中的命令在运行结吏后,make会检测命

3、令执行的返回状态,如果返回成功,那么就启动另外一个子shell来执行下一条命令。规则中的所有命令执行完成之后,这个规则就执行完成了。如果一个规则中的某一个命令出错(返回非0状态),make就会放弃对当前规则后续命令的执行,也有可能会终止所有规则的执行。在执行make时,如果使用命令行选项“・厂或者“一gnore-errors,,5make将忽略所有规则中命令执行的绪误。没有依赖的特殊目标“」GNORE”左Makefile中有同样的效果,但是“」GNORE”的方式已经很少使用,因为它没有在命令行之前使用“•

4、”的方式灵活。在执行make时,如果使用命令行选项“・i”或者“一gnore-errors,?,make将忽珞所有规则中命令执行的错误,没有依颠的特殊目标“」GNORE"在Makefile中有同样的效果。但是“」GNORE”的方式已经很少使用,因为它没有在命令行之前使用“•”的方式灵活。在make执行失败时,修改错误之后执行make之前,使用“makeclean"明确的删除第一次错误重建的所有目标。GNUmake中,还有一个被称为条件赋值的赋值燥作符“?二”。被称为条件赋值是因为:只有此变量在之前没有赋值

5、的情况下才会对这个变量进行赋值。例如:例如我们存在一个代表所有.0文件的变量。定义为4,objects=foo.obar.obaz.o”。为了得到这些.o文件所時应的.c源文件。我们可以使用以下两种方式的任意一个:$(objects:.o-.c)$(patsubst%.o,%.c,$(objects))8.2.4$(findstringFINDJN)函数名炼:查找字苻冷函数一findstring。函数功能:搜索字串“IN”,查找“FIND”字取返回值:如果在“IN”之中存在“FIND”,则返回“FIND”

6、,否则返回空。函数说明:字电“IN”之中可以包含空格、[Tab],搜索需要是产格的文本匹配。示例:$(findstringa}abc)$(findstringa,bc)第一个函数结粟是字“a”;第二个值为空字符。827$(sortLIST)函数名称:擀序函数一sort函数功能:给字吉“LIST”中的单词以首字母为准送行擀序(升序),并取掉堂复的单词。返回值:空格分割的没有圭复单词的字启.函数说明:两个功能,擀序和去字宮中的至复单词。可以单独使用其中一个功能。示例:S(sortfoobarlosetoo)返

7、回值为:“barfoolose”e8.2.6$(filter-outPATTERN…,TEXT)函数名称:反过滤函filter-oute函数为能:和“filter”函数实现的功能相反。过滤扌卓字宜’TEXT”中所有轩合模式“PATTERN”的单词,保留所有不符合此模式的单洵。可以有多个模式。存在多个模式时,模式表达式之间使用空格分割…返回值:空格分割的“TEXT”字宫中所有不符合模式“PATTERN”的字宫。函数说明:“filter・out”函数也可以用夬去除一个变量中的某些字符有,(实现和"filter

8、"函数相反).示例:objects=main1.ofoo.omain2.obar.omains^mainl.omain2.o$(filter-out$(mains),$(objects))实现了去徐变量“objects”中“mains”定义的字宮(文件名)功能°它的返回值为“foo.obar.o”.8.2.8$(wordN,TEXT)函数名称:取单词函数一word。函数功能:取字當“TEXT”中第“N”个单词(“N”的值从1开

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

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

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