makefile知识列表.docVIP

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

makefile知识列表 1.MAKEFILES变量 如果在当前环境定义了一个“MAKEFILES”环境变量, make执行时首先将此变量的值作为需要读入的Makefile文件, 多个文件之间使用空格分开。 2.变量 MAKEFILE_LIST make程序在读取多个makefile文件时, 包括由环境变量“MAKEFILES”指定、命令行指、 当前工作下的默认的以及使用指示符“include”指定包含的, 在对这些文件进行解析执行之前make读取的文件名将会被自动依次追加到变量“MAKEFILE_LIST”的定义域中。 3.特殊的变量 $@ 表示规则中的目标文件名 $ 表示第一个依赖文件的名字 $+ 表示所有依赖文件的集合 $^ 表示所有依赖文件的集合,去掉了重复的文件名 $? 表示所有比目标文件新的依赖文件的集合,去掉了重复的文件名 $(@D) 表示目标文件的目录部分(不包括斜杠)。如果“$@”是“dir/foo.o”,那么“$(@D)”的值为“dir”。如果“$@”不存在斜杠,其值就是“.”(当前目录)。注意它和函数“dir”的区别! $(@F) 目标文件的完整文件名中除目录以外的部分(实际文件名)。如果“$@”为“dir/foo.o”,那么“$(@F)”只就是“foo.o”。“$(@F)”等价于函数“$(notdir $@)”。 $(%D) $(%F) 当以如“archive(member)”形式静态库为目标时,分别表示库文件成员“member”名中的目录部分和文件名部分。它仅对这种形式的规则目标有效。 $(D) $(F) 分别表示规则中第一个依赖文件的目录部分和文件名部分。 $(^D) $(^F) 分别表示所有依赖文件的目录部分和文件部分(不存在同一文件)。 $(+D) $(+F) 分别表示所有依赖文件的目录部分和文件部分(可存在重复文件)。 $(?D) $(?F) 分别表示被更新的依赖文件的目录部分和文件名部分。 4.隐藏变量 隐含规则中所使用的变量(隐含变量)分为两类:1. 代表一个程序的名字(例如:“CC”代表了编译器这个可执行程序)。2. 代表执行这个程序使用的参数(例如:变量“CFLAGS”),多个参数使用空格分开。当然也允许在程序的名字中包含参数。但是这种方式建议不要使用。 以下是一些作为程序名的隐含变量定义: 代表命令的变量 AR 函数库打包程序,可创建静态库.a文档。默认是“ar”。 AS 汇编程序。默认是“as”。 CC C编译程序。默认是“cc”。 CXX C++编译程序。默认是“g++”。 CO 从 RCS中提取文件的程序。默认是“co”。 CPP C程序的预处理器(输出是标准输出设备)。默认是“$(CC) -E”。 FC 编译器和预处理Fortran 和 Ratfor 源文件的编译器。默认是“f77”。 GET 从SCCS中提取文件程序。默认是“get”。 LEX 将 Lex 语言转变为 C 或 Ratfo 的程序。默认是“lex”。 PC Pascal语言编译器。默认是“pc”。 YACC Yacc文法分析器(针对于C程序)。默认命令是“yacc”。 YACCR Yacc文法分析器(针对于Ratfor程序)。默认是“yacc -r”。 MAKEINFO 转换Texinfo源文件(.texi)到Info文件程序。默认是“makeinfo”。 TEX 从TeX源文件创建TeX DVI文件的程序。默认是“tex”。 TEXI2DVI 从Texinfo源文件创建TeX DVI 文件的程序。默认是“texi2dvi”。 WEAVE 转换Web到TeX的程序。默认是“weave”。 CWEAVE 转换C Web 到 TeX的程序。默认是“cweave”。 TANGLE 转换Web到Pascal语言的程序。默认是“tangle”。 CTANGLE 转换C Web 到 C。默认是“ctangle”。 RM 删除命令。默认是“rm -f”。 命令参数的变量 下边的是代表命令执行参数的变量。如果没有给出默认值则默认值为空。 ARFLAGS 执行“AR”命令的命令行参数。默认值是“rv”。 ASFLAGS 执行汇编语器“AS”的命令行参数(明确指定“.s”或“.S”文件时)。 CFLAGS 执行“C

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档