我在阅读 Auto-Tools 时在这里找到了一个 makefile 。
我从未使用过这样的makefile,我自己尝试过。
我写的makefile的内容是:
all: HelloWorld
clean:
rm -f HelloWorld *.o
包含 makefile 的文件夹仅包含一个文件HelloWorld.c
。
运行make
成功,输出如下:
$> make
cc HelloWorld.c -o HelloWorld
现在我尝试进行试验,并在 makefile 中将目标重命名为all
to HelloWorl
。这次make
失败并出现以下错误:
$> make
make: *** No rule to make target `HelloWorl', needed by `all'. Stop.
请解释这种make
自动搜索和编译源代码的行为。
我的理解是,它通过.c
使用默认cc
编译器附加和编译目标名称来制作源名称。