diff --git a/README.rst b/README.rst index 01da3b8..6e9d126 100644 --- a/README.rst +++ b/README.rst @@ -1,8 +1,8 @@ 跟我一起写Makefile (PDF重制版) ############################## -.. image:: https://travis-ci.org/seisman/how-to-write-makefile.svg?branch=master - :target: https://travis-ci.org/seisman/how-to-write-makefile +.. image:: https://github.com/seisman/how-to-write-makefile/actions/workflows/deploy.yml/badge.svg + :target: https://github.com/seisman/how-to-write-makefile/actions/workflows/deploy.yml 简介 ---- diff --git a/requirements.txt b/requirements.txt index 00e3912..b770063 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -sphinx==1.8.5 +sphinx sphinx_rtd_theme sphinx-cjkspace pygments diff --git a/source/implicit_rules.rst b/source/implicit_rules.rst index e229658..67d88b4 100644 --- a/source/implicit_rules.rst +++ b/source/implicit_rules.rst @@ -86,7 +86,7 @@ make会在自己的“隐含规则”库中寻找可以用的规则,如果找 #. 编译C++程序的隐含规则。 ``.o`` 的目标的依赖目标会自动推导为 ``.cc`` 或是 ``.C`` ,并且其生成命令是 - ``$(CXX) –c $(CPPFLAGS) $(CFLAGS)`` 。(建议使用 ``.cc`` 作为C++源文件的后缀,而不是 ``.C`` ) + ``$(CXX) –c $(CPPFLAGS) $(CXXFLAGS)`` 。(建议使用 ``.cc`` 作为C++源文件的后缀,而不是 ``.C`` ) #. 编译Pascal程序的隐含规则。 @@ -336,7 +336,7 @@ make就会规则下的命令,所以,在模式规则中,目标可能会是 - ``$+`` : 这个变量很像 ``$^`` ,也是所有依赖目标的集合。只是它不去除重复的依赖目标。 - ``$*`` : 这个变量表示目标模式中 ``%`` 及其之前的部分。如果目标是 ``dir/a.foo.b`` ,并且 目标的模式是 ``a.%.b`` ,那么, ``$*`` 的值就是 ``dir/a.foo`` 。这个变量对于构造有关联的 - 文件名是比较有较。如果目标中没有模式的定义,那么 ``$*`` 也就不能被推导出,但是,如果目标文件的 + 文件名是比较有效。如果目标中没有模式的定义,那么 ``$*`` 也就不能被推导出,但是,如果目标文件的 后缀是make所识别的,那么 ``$*`` 就是除了后缀的那一部分。例如:如果目标是 ``foo.c`` ,因为 ``.c`` 是make所能识别的后缀名,所以, ``$*`` 的值就是 ``foo`` 。这个特性是GNU make的, 很有可能不兼容于其它版本的make,所以,你应该尽量避免使用 ``$*`` ,除非是在隐含规则或是静态