⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 make-02.html

📁 unix make 文档
💻 HTML
📖 第 1 页 / 共 5 页
字号:
	<p class="MsoNormal" style="text-indent: 41.2pt"><b><i>
	<span lang="EN-US" style="font-size: 12.0pt; font-family: Arial">utils.o : 
	utils.c defs.h</span></i></b></p>
	<p class="MsoNormal" style="text-indent: 41.2pt; margin-left: 30.9pt"><b><i>
	<span lang="EN-US" style="font-size: 12.0pt; font-family: Arial">cc -c 
	utils.c</span></i></b></p>
	<p class="MsoNormal" style="text-indent: 41.2pt"><b><i>
	<span lang="EN-US" style="font-size: 12.0pt; font-family: Arial">clean :</span></i></b></p>
	<p class="MsoNormal" style="text-indent: 41.2pt; margin-left: 25.7pt"><b><i>
	<span lang="EN-US" style="font-size: 12.0pt; font-family: Arial">rm edit 
	main.o kbd.o command.o display.o \</span></i></b></p>
	<p class="MsoNormal" style="margin-left:72.0pt;text-indent:36.0pt"><b><i>
	<span lang="EN-US" style="font-size: 12.0pt; font-family: Arial">insert.o 
	search.o files.o utils.o</span></i></b></p>
	<p class="MsoBodyTextFirstIndent" style="text-indent:24.0pt">
	<span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">
	&nbsp;</span></p>
	<p class="MsoBodyTextFirstIndent" style="text-indent:24.0pt">
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">
	首先书写时,可以将一个较长行使用反斜线(</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">\</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">)来分解为多行,这样可以使我们的</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">书写清晰、容易阅读理解。<b>但需要</b></span><b><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">注意:反斜线之后不能有空格(这也是大家最容易犯的错误,错误比较隐蔽)<span style="color:black">。</span></span></b><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">我们推荐将一个长行分解为使用反斜线连接得多个行的方式。在完成了这个</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">Maekfile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">以后;需要创建可执行程序“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”,所要做的就是在包含此</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">的目录(当然也在代码所在的目录)下输入命令“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”。删除已经此目录下之前使用“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”生成的文件(包括那些中间过程的</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">文件),也只需要输入命令“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make 
	clean</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”就可以了。</span></p>
	<p class="MsoBodyTextFirstIndent" style="text-indent:24.0pt">
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">
	在这个</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">中,我们的目标(</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">target</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">)就是可执行文件“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”和那些</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">文件(</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">main.o,kbd.o….</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">);依赖(</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">prerequisites</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">)就是冒号后面的那些</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black"> 
	.c </span>
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">
	文件和</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black"> 
	.h</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">文件。所有的</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">文件既是依赖(相对于可执行程序</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">)又是目标(相对于</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">.c</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">和</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">.h</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">文件)。命令包括</span><span style="font-size: 12.0pt; line-height: 150%; color: black">
	</span>
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">
	“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">cc 
	–c maic.c</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”、“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">cc 
	–c kbd.c</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”……</span></p>
	<p class="MsoBodyTextFirstIndent" style="text-indent:24.0pt">
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">
	当规则的目标是一个文件,在它的任何一个依赖文件被修改以后,在执行“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”时这个目标文件将会被重新编译或者重新连接。当然,此目标的任何一个依赖文件如果有必要则首先会被重新编译。在这个例子中,“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”的依赖为</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">8</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">个</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">文件;而“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">main.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”的依赖文件为“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">main.c</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”和“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">defs.h</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”。当“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">main.c</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”或者“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">defs.h</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”被修改以后,再次执行“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”,“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">main.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”就会被更新(其它的</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">文件不会被更新),同时“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">main.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”</span><span style="font-size: 12.0pt; line-height: 150%; color: black">
	</span>
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">
	的更新将会导致“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”被更新。</span></p>
	<p class="MsoBodyTextFirstIndent" style="text-indent:24.0pt">
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">
	在描述依赖关系行之下通常就是规则的命令行(存在一些些规则没有命令行),命令行定义了规则的动作(如何根据依赖文件来更新目标文件)。命令行必需以</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">[Tab]</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">键开始,以和</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">其他行区别。<b>就是说所有的命令行必需以</b></span><b><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">[Tab]
	</span>
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">
	字符开始,但并不是所有的以</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">[Tab]</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">键出现行都是命令行。但</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">程序会把出现在第一条规则之后的所有以</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">[Tab]</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">字符开始的行都作为命令行来处理</span></b><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">。(记住:</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">程序本身并不关心命令是如何工作的,对目标文件的更新需要你在规则描述中提供正确的命令。“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”程序所做的就是当目标程序需要更新时执行规则所定义的命令)。</span></p>
	<p class="MsoBodyTextFirstIndent" style="text-indent:24.0pt">
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">
	目标“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">clean</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”不是一个文件,它仅仅代表执行一个动作的标识。正常情况下,不需要执行这个规则所定义的动作,因此目标“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">clean</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”没有出现在其它任何规则的依赖列表中。因此在执行</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">时,它所指定的动作不会被执行。除非在执行</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">时明确地指定它。而且目标“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">clean</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”没有任何依赖文件,它只有一个目的,就是通过这个目标名来执行它所定义的命令。</span><b><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">中把那些没有任何依赖只有执行动作的目标称为“伪目标”(</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%">phony 
	targets</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">)</span></b><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">。</span><span style="color: black; font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">需要执行“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">clean</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">”目标所定义的命令,可在</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">shell</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">下输入:</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">make 
	clean</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312; color: black">。</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; color: black">&nbsp;</span></p>
<h3><a name="_gnu_make_2.4"><span lang="EN-US" style="font-size: 14.0pt">2.4<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7.0pt; font-family: Times New Roman">&nbsp;&nbsp;
</span></span><b><span lang="EN-US" style="font-size: 14.0pt">make</span></b><span style="font-size: 14.0pt; font-family: 楷体_GB2312">如何工作</span></a></a></h3>
	<p class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph; text-indent: 24.0pt; line-height: 150%; text-autospace: ideograph-numeric ideograph-other">
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">
	默认的情况下,</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">执行的是</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">中的第一个规则,此规则的第一个目标称之为“最终目的”或者“终极目标”(就是一个</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">最终需要更新或者创建的目标。</span></p>
	<p class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph; text-indent: 24.0pt; line-height: 150%; text-autospace: ideograph-numeric ideograph-other">
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">
	上例的</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">,目标“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">”在</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">中是第一个目标,因此它就是</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">的“终极目标”。当修改了任何</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">C</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">源文件或者头文件后,执行</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">将会重建终极目标“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">”。</span></p>
	<p class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph; text-indent: 24.0pt; line-height: 150%; text-autospace: ideograph-numeric ideograph-other">
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">
	当在</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">shell</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">提示符下输入“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">”命令以后。</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">读取当前目录下的</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件,并将</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">Makefile</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件中的第一个目标作为其执行的“终极目标”,开始处理第一个规则(终极目标所在的规则)。在我们的例子中,第一个规则就是目标“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">”所在的规则。规则描述了“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">”的依赖关系,并定义了链接</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件生成目标“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">”的命令;</span><span style="font-size: 12.0pt; line-height: 150%; font-family: Arial">
	<span lang="EN-US">make</span></span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">在执行这个规则所定义的命令之前,首先处理目标“</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">edit</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">”的所有的依赖文件(例子中的那些</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件)的更新规则(以这些</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件为目标的规则)。对这些</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件为目标的规则处理有下列三种情况:</span></p>
	<p class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph; text-indent: -21.0pt; line-height: 150%; text-autospace: ideograph-numeric ideograph-other; margin-left: 39.0pt">
	<span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">
	1.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
	</span>
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">
	目标</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件不存在,使用其描述规则创建它;</span></p>
	<p class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph; text-indent: -21.0pt; line-height: 150%; text-autospace: ideograph-numeric ideograph-other; margin-left: 39.0pt">
	<span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">
	2.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
	</span>
	<span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">
	目标</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件存在,目标</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件所依赖的</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">.c</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">源文件、</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">.h</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件中的任何一个比目标</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">.o</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">文件“更新”(在上一次</span><span lang="EN-US" style="font-size: 12.0pt; line-height: 150%; font-family: Arial">make</span><span style="font-size: 12.0pt; line-height: 150%; font-family: 楷体_GB2312">之后被修改)。则根据规则重新编译生成它;</span></p>
	<p class="MsoNormal" style="text-align: justify; text-justify: inter-ideo

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -