1

我目前正在通过几个不同的来源学习 c,其中一个是 Learn C The Hard Way PDF 和 Cprogramming.com,以获得额外的功劳,它说在 Makefile 中使用 all:。我目前正在使用 Kali Linux、vim 作为我的编辑器,到目前为止我的 Makefile 看起来像这样。

CFLAGS=-Wall -g

clean: "this is on the next line with a Tab in--->"
     rm -f ex1

我只是想理解语法,并把所有的:以及如何添加到它。它说如果有人能更好地解释这一点,我将把我的下一个项目 ex3 添加到all:我的cleanMakefile 中,我将非常感激,因为我不想在不了解所有额外功劳的情况下继续前进。

如果您需要一个参考点,我是否在 LearnCTheHardWay 的第 3 课上。我刚开始使用 Linux 的 C 语言。感谢您的时间和您可能有的任何答案。

4

3 回答 3

6

all没有特别的意义。也一样clean

make 将使用它看到的第一个目标,除非您通过命令行调用另外指定。

绝对推荐阅读文档,特别是考虑到 GNU make 文档编写得非常好并且可以作为部分教程部分参考。

于 2013-08-27T12:23:17.380 回答
1

我建议您只从命令行构建程序。在构建命令超过几行之前,这应该没有问题。

到那时,您将 (1) 足够沮丧并且 (2) 对编译过程(预处理、编译、组装、链接、剥离)有足够的了解以了解 makefile。

您可以浏览在线教程、浏览 gnu make 文档并在您的 makefile 中进行实验。

从那时起,您可能想在未来几年内了解构建系统,例如 autotools 和 Cmake。

于 2013-08-27T12:11:54.683 回答
0

在make文件中格式是这样的,

<tag>: <dependency1> <dependency2>....
  $CC <dependency1> <dependency2>....

<dependency1>: <dependencya> <dependencyb>....
  $CC -c <dependencya> <dependencyb>....

所以基本上对所有人来说:你已经将依赖添加为 *.o 文件,对于 *.o 文件的依赖

于 2013-08-27T12:36:45.780 回答