电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

LINUX编程Makefile中的变量详解应用VIP免费

LINUX编程Makefile中的变量详解应用_第1页
1/28
LINUX编程Makefile中的变量详解应用_第2页
2/28
LINUX编程Makefile中的变量详解应用_第3页
3/28
第六章:Makefile 中的变量 -------------------------------------------------------------------------------- 在Makefile 中,变量就是一个名字(像是C 语言中的宏),代表一个文本字符串(变量的值)。在Makefile 的目标、依赖、命令中引用一个变量的地方,变量会被它的值所取代(与 C 语言中宏引用的方式相同,因此其他版本的make 也把变量称之为“宏”)。在Makefile 中变量的特征有以下几点: 1. Makefile 中变量和函数的展开(除规则的命令行以外),是在make 读取 makefile 文件时进行的,这里的变量包括了使用“=”定义和使用指示符“define”定义的。 2. 变量可以用来代表一个文件名列表、编译选项列表、程序运行的选项参数列表、搜索源文件的目录列表、编译输出的目录列表和所有我们能够想到的事物。 3. 变量名是不包括“:”、“#”、“=”、前置空白和尾空白的任何字符串。需要注意的是,尽管在GNU make 中没有对变量的命名有其它的限制,但定义一个包含除字母、数字和下划线以外的变量的做法也是不可取的,因为除字母、数字和下划线以外的其它字符可能会在以后的make 版本中被赋予特殊含义,并且这样命名的变量对于一些 shell 来说不能作为环境变量使用。 4. 变量名是大小写敏感的。变量“foo”、“Foo”和“FOO”指的是三个不同的变量。Makefile传统做法是变量名是全采用大写的方式。推荐的做法是在对于内部定义定义的一般变量(例如:目标文件列表objects)使用小写方式,而对于一些参数列表(例如:编译选项 CFLAGS)采用大写方式,这并不是要求的。但需要强调一点:对于一个工程,所有Makefile 中的变量命名应保持一种风格,否则会显得你是一个蹩脚的程序员(就像代码的变量命名风格一样)。 5. 另外有一些变量名只包含了一个或者很少的几个特殊的字符(符号)。称它们为自动化变量。像“$<”、“$@”、“$?”、“$*”等。 6.1 变量的引用 当我们定义了一个变量之后,就可以在Makefile 的很多地方使用这个变量。变量的引用方式是:使用“$(VARIABLE_NAME)”或者“${ VARIABLE_NAME }”来引用一个变量的定义。例如:“$(foo) ”或者“${foo}”就是取变量“foo”的值。美元符号“$”在Makefile 中有特殊的含义,所有在命令或者文件名中使用“$”时需要用两个美元符号“$$”来表示。对一个变量的引用可以在Makefile 的任何上下文中,目标、依赖、命令、绝大多数指示符和新变量的赋值中...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

LINUX编程Makefile中的变量详解应用

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部