3.3. 使用 Makefile
要构建由多个源文件组成的复杂程序,请利用 名为 Makefile 的配置文件,该文件控制如何编译程序的组件并构建最终可执行文件。Makefile 也可以包含清理工作目录、安装和卸载程序文件以及其他操作的说明。
make 自动使用当前目录中名为 GNUmakefile、makefile 或 Makefile 的文件。要指定另一个文件名,请使用 the -f 选项:
make -f make_file
$ make -f make_file
描述 Makefile 语法的详细信息超出了本指南的范围。请参阅 GNU make,上游 GNU make manual,它提供 GNU make 实用程序、Makefile 语法及其用法的深入描述。
作为安装的一部分,也可以以 Texinfo 格式提供完整的 make 手册。查看这个手册:
scl enable devtoolset-9 'info make'
$ scl enable devtoolset-9 'info make'
例 3.2. 使用 Makefile 构建 C 程序
考虑以下名为 Makefile 的通用 Makefile,用于构建 例 3.1 “使用 make 构建 C 程序” 中引入的简单 C 程序。Makefile 定义一些变量并指定四个 规则,它们由 目标 及其 方法 组成。请注意,配有方法的行必须以 TAB 字符开头:
要使用此 Makefile 构建 hello.c 程序,请运行 make 工具:
scl enable devtoolset-9 'make'
$ scl enable devtoolset-9 'make'
gcc -c -Wall hello.c -o hello.o
gcc hello.o -o hello
这会在当前工作目录中创建一个新的对象文件 hello.o 和一个名为 hello 的新二进制文件。
要清理工作目录,请运行:
scl enable devtoolset-9 'make clean'
$ scl enable devtoolset-9 'make clean'
rm -rf hello.o hello
这会从工作目录中删除对象和二进制文件。