gpt4 book ai didi

c - 解释一下这个 makefile 是如何工作的?

转载 作者:行者123 更新时间:2023-12-02 21:43:29 24 4
gpt4 key购买 nike

我找到了一个makefile here在阅读有关自动工具的信息时。

我从来没有使用过这样的makefile,我自己尝试过。
我写的makefile内容是:

all: HelloWorld

clean:
rm -f HelloWorld *.o

包含 makefile 的文件夹仅包含一个文件 HelloWorld.c

运行 make 成功,输出如下:

$> make
cc HelloWorld.c -o HelloWorld

现在我尝试进行实验,并在 makefile 中将 all 的目标重命名为 HelloWorl。这次 make 失败并出现以下错误:

$> make
make: *** No rule to make target `HelloWorl', needed by `all'. Stop.

请解释一下make自动搜索和编译源代码的行为。

我的理解是,它通过附加 .c 从目标名称生成源名称,并使用默认的 cc 编译器进行编译。

最佳答案

您的理解大部分是正确的;这是 implicit rules 之一。然而,make 实际上使用 make 的 CC variable 中的编译器来编译该文件。 .

关于c - 解释一下这个 makefile 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19945340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com