<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0046)http://www.yayu.org/book/gnu_make/make-06.html -->
<HTML><HEAD><TITLE>第六章 : Makefile中的变量</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE>H1 {
TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 16pt; MARGIN: 12pt 0pt 12pt 21.6pt; TEXT-INDENT: -21.6pt; FONT-FAMILY: Arial; TEXT-ALIGN: justify; tab-stops: list 21.6pt
}
P.MsoNormal {
FONT-SIZE: 10pt; MARGIN: 0pt; FONT-FAMILY: "Times New Roman"; mso-style-parent: ""
}
H2 {
FONT-WEIGHT: normal; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 12pt; MARGIN: 12pt 0pt 12pt 28.8pt; TEXT-INDENT: -28.8pt; FONT-FAMILY: Arial; TEXT-ALIGN: justify; tab-stops: list 28.8pt
}
H3 {
FONT-WEIGHT: normal; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 12pt; MARGIN: 12pt 0pt 12pt 36pt; TEXT-INDENT: -36pt; FONT-FAMILY: Arial; TEXT-ALIGN: justify; tab-stops: list 36.0pt
}
P.a {
BORDER-RIGHT: medium none; PADDING-RIGHT: 0pt; BORDER-TOP: medium none; PADDING-LEFT: 0pt; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 9pt; PADDING-BOTTOM: 0pt; MARGIN: 0pt; BORDER-LEFT: medium none; LINE-HEIGHT: 150%; PADDING-TOP: 0pt; BORDER-BOTTOM: medium none; FONT-FAMILY: Arial; TEXT-ALIGN: justify
}
P.a0 {
BORDER-RIGHT: medium none; PADDING-RIGHT: 0pt; BORDER-TOP: medium none; PADDING-LEFT: 0pt; TEXT-JUSTIFY: inter-ideograph; FONT-SIZE: 9pt; PADDING-BOTTOM: 0pt; MARGIN: 0pt; BORDER-LEFT: medium none; TEXT-INDENT: 18pt; LINE-HEIGHT: 150%; PADDING-TOP: 0pt; BORDER-BOTTOM: medium none; FONT-FAMILY: Arial; TEXT-ALIGN: justify
}
</STYLE>
<META content="MSHTML 6.00.2900.6082" name=GENERATOR></HEAD>
<BODY>
<H1 style="MARGIN-LEFT: 9.9pt; TEXT-INDENT: 0pt; TEXT-ALIGN: center"
align=center><A name=chapter_06><SPAN
style="FONT-SIZE: 18pt; FONT-FAMILY: 楷体_GB2312">第六章:</SPAN><SPAN lang=EN-US
style="FONT-SIZE: 18pt">Makefile</SPAN><SPAN
style="FONT-SIZE: 18pt; FONT-FAMILY: 楷体_GB2312">中的变量</SPAN></A></H1><SPAN
lang=EN-US style="FONT-SIZE: 12pt; COLOR: #222222; LINE-HEIGHT: 150%">
<HR align=center width="100%" SIZE=1>
</SPAN>
<P class=MsoNormal
style="TEXT-JUSTIFY: inter-ideograph; TEXT-INDENT: 24pt; LINE-HEIGHT: 150%; TEXT-AUTOSPACE: ideograph-numeric; TEXT-ALIGN: justify"><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">在</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">Makefile</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">中,变量就是一个名字(像是</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">C</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">语言中的宏),代表一个文本字符串(变量的值)。在</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">Makefile</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">的目标、依赖、命令中引用一个变量的地方,变量会被它的值所取代(与</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">C</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">语言中宏引用的方式相同,因此其他版本的</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">make</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">也把变量称之为“宏”)。在</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">Makefile</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">中变量的特征有以下几点:</SPAN></P>
<P class=MsoNormal
style="TEXT-JUSTIFY: inter-ideograph; MARGIN-LEFT: 39pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; TEXT-AUTOSPACE: ideograph-numeric; TEXT-ALIGN: justify"><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">1.<SPAN
style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal">
</SPAN>Makefile</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">中变量和函数的展开(除规则的命令行以外),是在</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">make</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">读取</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">makefile</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">文件时进行的,这里的变量包括了使用“</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">=</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">”定义和使用指示符“</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">define</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">”定义的。</SPAN></P>
<P class=MsoNormal
style="TEXT-JUSTIFY: inter-ideograph; MARGIN-LEFT: 39pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; TEXT-AUTOSPACE: ideograph-numeric; TEXT-ALIGN: justify"><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">2.<SPAN
style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal">
</SPAN></SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">变量可以用来代表一个文件名列表、编译选项列表、程序运行的选项参数列表、搜索源文件的目录列表、编译输出的目录列表和所有我们能够想到的事物。</SPAN></P>
<P class=MsoNormal
style="TEXT-JUSTIFY: inter-ideograph; MARGIN-LEFT: 39pt; TEXT-INDENT: -21pt; LINE-HEIGHT: 150%; TEXT-AUTOSPACE: ideograph-numeric; TEXT-ALIGN: justify"><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">3.<SPAN
style="FONT-WEIGHT: normal; FONT-SIZE: 7pt; FONT-STYLE: normal; FONT-FAMILY: Times New Roman; FONT-VARIANT: normal">
</SPAN></SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">变量名是不包括“</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">:</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">”、“</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">#</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">”、“</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">=</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">”、前置空白和尾空白的任何字符串。需要注意的是,尽管在</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">GNU
make</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">中没有对变量的命名有其它的限制,但定义一个包含除字母、数字和下划线以外的变量的做法也是不可取的,因为除字母、数字和下划线以外的其它字符可能会在以后的</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: Arial">make</SPAN><SPAN
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FONT-FAMILY: 楷体_GB2312">版本中被赋予特殊含义,并且这样命名的变量对于一些</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 12pt; COLOR: black; LINE-HEIGHT: 150%; FO
没有合适的资源?快使用搜索试试~ 我知道了~
makefile相关资料

共116个文件
js:40个
gif:25个
jpg:16个


温馨提示
makefile相关资料makefile相关资料makefile相关资料makefile相关资料makefile相关资料makefile相关资料makefile相关资料
资源推荐
资源详情
资源评论













收起资源包目录





































































































共 116 条
- 1
- 2
资源评论

- 喜欢睡大街2014-09-11还不错额,C和C++都实用

nuoshueihe
- 粉丝: 69
- 资源: 46
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
