- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- java实现复数,有序链表.doc
- java对世界各个时区(TimeZone)的通用转换处理方法.doc
- java小知识浅析.doc
- java对象的实例化过程,成员变量的初始化顺序.doc
- java开发以及tomcat环境变量配置.doc
- java抽象工厂迷宫.doc
- JAVA循环+判断(三角·菱形).doc
- java搜索.doc
- java数组及各种排序方法.doc
- Java时间的若干问题.doc
- 2024地铁职业技能鉴定全真模拟模拟题附答案详解【基础题】.docx
- 2024地铁职业技能鉴定全真模拟模拟题附完整答案详解【有一套】.docx
- 2024地铁职业技能鉴定全真模拟模拟题附参考答案详解(考试直接用).docx
- 2024地铁职业技能鉴定全真模拟模拟题(精选题)附答案详解.docx
- 2024地铁职业技能鉴定全真模拟模拟题附参考答案详解【实用】.docx
- 2024地铁职业技能鉴定全真模拟模拟题附参考答案详解【考试直接用】.docx
- 2024地铁职业技能鉴定全真模拟模拟题附参考答案详解【满分必刷】.docx
- 2024地铁职业技能鉴定全真模拟模拟题附参考答案详解【培优】.docx
- 2024地铁职业技能鉴定全真模拟模拟题及完整答案详解(名师系列).docx
- 2024地铁职业技能鉴定全真模拟模拟题含答案详解(模拟题).docx
文档评论(0)