Merge pull request #3 from 8liang/master

fix typos
This commit is contained in:
Dongdong Tian 2016-06-21 18:16:43 +08:00 committed by GitHub
commit 7bf764e4e5
2 changed files with 4 additions and 4 deletions

View File

@ -9,7 +9,7 @@ make命令执行时需要一个makefile文件以告诉make命令需要怎
#. 如果这个工程的某几个c文件被修改那么我们只编译被修改的c文件并链接目标程序。 #. 如果这个工程的某几个c文件被修改那么我们只编译被修改的c文件并链接目标程序。
#. 如果这个工程的头文件被改变了那么我们需要编译引用了这几个头文件的c文件并链接目标程序。 #. 如果这个工程的头文件被改变了那么我们需要编译引用了这几个头文件的c文件并链接目标程序。
只要我们的makefile写得够好所有的这一切我们只用一个make命令就可以完成make命令会自动智能地根据当前的文件修改的情况来确定哪些文件需要重编译从而自编译所需要的文件和链接目标程序。 只要我们的makefile写得够好所有的这一切我们只用一个make命令就可以完成make命令会自动智能地根据当前的文件修改的情况来确定哪些文件需要重编译从而自编译所需要的文件和链接目标程序。
makefile的规则 makefile的规则
-------------- --------------

View File

@ -228,7 +228,7 @@ vapth使用方法中的<pattern>需要包含 ``%`` 字符。 ``%`` 的意思是
多目标 多目标
------ ------
Makefile的规则中的目标可以不止一个其支持多目标有可能我们的多个目标同时依赖于一个文件并且其生成的命令大体类似。于是我们就能把其合并起来。当然多个目标的生成规则的执行命令不是同一个这可能会我们带来麻烦,不过好在我们可以使用一个自动化变量 ``$@`` (关于自动化变量,将在后面讲述),这个变量表示着目前规则中所有的目标的集合,这样说可能很抽象,还是看一个例子吧。 Makefile的规则中的目标可以不止一个其支持多目标有可能我们的多个目标同时依赖于一个文件并且其生成的命令大体类似。于是我们就能把其合并起来。当然多个目标的生成规则的执行命令不是同一个这可能会我们带来麻烦,不过好在我们可以使用一个自动化变量 ``$@`` (关于自动化变量,将在后面讲述),这个变量表示着目前规则中所有的目标的集合,这样说可能很抽象,还是看一个例子吧。
.. code-block:: makefile .. code-block:: makefile
@ -287,7 +287,7 @@ prereq-parrterns是目标的依赖模式它对target-parrtern形成的模式
bar.o : bar.c bar.o : bar.c
$(CC) -c $(CFLAGS) bar.c -o bar.o $(CC) -c $(CFLAGS) bar.c -o bar.o
试想,如果我们的 ``%.o`` 有几百个,那么我们只要用这种很简单的“静态模式规则”就可以写完一堆规则,实在是太有效率了。“静态模式规则”的用法很灵活,如果用得好,那会一个很强大的功能。再看一个例子: 试想,如果我们的 ``%.o`` 有几百个,那么我们只要用这种很简单的“静态模式规则”就可以写完一堆规则,实在是太有效率了。“静态模式规则”的用法很灵活,如果用得好,那会一个很强大的功能。再看一个例子:
.. code-block:: makefile .. code-block:: makefile
@ -374,4 +374,4 @@ gcc -MM main.c的输出则是::
include $(sources:.c=.d) include $(sources:.c=.d)
上述语句中的 ``$(sources:.c=.d)`` 中的 ``.c=.d`` 的意思是做一个替换,把变量 ``$(sources)`` 所有 ``.c`` 的字串都替换成 ``.d`` 关于这个“替换”的内容在后面我会有更为详细的讲述。当然你得注意次序因为include是按次来载入文件最先载入的 ``.d`` 文件中的目标会成为默认目标。 上述语句中的 ``$(sources:.c=.d)`` 中的 ``.c=.d`` 的意思是做一个替换,把变量 ``$(sources)`` 所有 ``.c`` 的字串都替换成 ``.d`` 关于这个“替换”的内容在后面我会有更为详细的讲述。当然你得注意次序因为include是按次来载入文件,最先载入的 ``.d`` 文件中的目标会成为默认目标。