fixes
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
|
||||
好了,还是让我们来看一看如何书写规则。
|
||||
|
||||
|
||||
规则举例
|
||||
--------
|
||||
|
||||
@@ -100,11 +99,9 @@ prerequisites也就是目标所依赖的文件(或依赖目标)。如果其
|
||||
|
||||
objects := $(wildcard *.c)
|
||||
|
||||
#. 列出(1)中所有文件对应的 ``.o`` 文件,在(3)中我们可以看到它是由make自动编译出的。
|
||||
#. 列出(1)中所有文件对应的 ``.o`` 文件,在(3)中我们可以看到它是由make自动编译出的::
|
||||
|
||||
.. code-block:: makefile
|
||||
|
||||
$(patsubst %.c,%.o,$(wildcard *.c))
|
||||
$(patsubst %.c,%.o,$(wildcard *.c))
|
||||
|
||||
#. 由(1)(2)两步,可写出编译并链接所有 ``.c`` 和 ``.o`` 文件
|
||||
|
||||
@@ -312,9 +309,7 @@ $(filter %.o,$(files))表示调用Makefile的filter函数,过滤“$files”
|
||||
|
||||
main.o : main.c defs.h
|
||||
|
||||
但是,如果是一个比较大型的工程,你必需清楚哪些C文件包含了哪些头文件,并且,你在加入或删除头文件时,也需要小心地修改Makefile,这是一个很没有维护性的工作。为了避免这种繁重而又容易出错的事情,我们可以使用C/C++编译的一个功能。大多数的C/C++编译器都支持一个“-M”的选项,即自动找寻源文件中包含的头文件,并生成一个依赖关系。例如,如果我们执行下面的命令:
|
||||
|
||||
.. code-block:: makefile
|
||||
但是,如果是一个比较大型的工程,你必需清楚哪些C文件包含了哪些头文件,并且,你在加入或删除头文件时,也需要小心地修改Makefile,这是一个很没有维护性的工作。为了避免这种繁重而又容易出错的事情,我们可以使用C/C++编译的一个功能。大多数的C/C++编译器都支持一个“-M”的选项,即自动找寻源文件中包含的头文件,并生成一个依赖关系。例如,如果我们执行下面的命令::
|
||||
|
||||
cc -M main.c
|
||||
|
||||
|
||||
Reference in New Issue
Block a user