【发布时间】:2015-09-27 22:50:28
【问题描述】:
我正在学习 c,并试图了解 makefile。我正在学习 C the Hard way。
在练习 2 中,额外的功劳是在我的 makefile 中创建一个命令,允许我通过键入“make”来编译我的 .c 文件。
我的makefile是:
CLAGS=-WALL -g
all: ex1
clean:
rm ex1
这可行 - 即输入 make clean 删除 ex1 文件,输入 make 将 ex1.c 编译为可执行文件。
但是,我很困惑为什么在 clean 命令中,rm ex1 必须在 clean 下的行上缩进,但是对于 all 命令,如果我在 all 下的行上缩进 ex1,则会引发错误。这是为什么呢?
我的另一个问题是 - 这究竟是如何工作的? all 是否只是一个关键字,类似于“输入 make(没有命令)时,执行此操作”?
感谢任何帮助。
谢谢。
【问题讨论】:
-
与 C(
CFLAGS实际上不是这里的重点)或 C++ 无关。
标签: makefile