Electronic Joint Business

Solution for E-Business

详解GNU Make (一) 基本规则

文章评价: 一个较大的项目会有许许多多源文件,一般我们会按类型、功能、模块等类别分别放在若干个目录中,makefile 提供了一系列的规则用于指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile 就像一个 Shell 脚本一样,其中也可以执行操作系统的命令。 因此,makefile 关系着整个项目的编译规则,带来的好处就是“自动化编译”。一旦写好 makefile,你只需要运行 make 命令,整个工程完全自动编译,极大地提高了软件开发的效率。 负责解释 makefile 中指令的工具是 make。一般来说,大多数的 C/C++ 编译器都提供这个工具,最常见的有:Visual C++ 的 nmake,GNU 的 make。但是不同产商的 make 各不兼容,makefile 语法也略有不同。这里我们以应用最为广泛的 GNU make 来做讲解。 Makefile 介绍 我们先引用 GNU 的 make 使用手册中的一个例子,假设我们的工程有 8 个 C 文件和 3 个头文件,要如何编写 Makefile 来实现自动编译和链接这几个文件。我们的要求是: 1)如果这个工程没有编译过,那么我们的所有 C 文件都要编译并被链接。 2)如果这个工程的某几个 C 文件被修改,那么我们只编译被修改的 C 文件,并链接目标程序。 3)如果这个工程的头文件被改变了,那么我们需要编译引用了这几个头文件的 C 文件,并链接目标程序。 […]

, , , , ,

One thought on “详解GNU Make (一) 基本规则

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.