c - 用 C 语言编写 Makefile

标签 c makefile

我正在(第一次)用 C 语言为我的程序编写 makefile。这是我的 make 文件:

CC = gcc
FILES = in_one.c in_two.c in_two.h
OUT_EXE = out_executable
build: $(FILES)
    $(CC) -o $(OUT_EXE) $(FILES)
clean:
    rm -f *.o core
rebuild: clean build

实际上,一切正常:Gcc 编译器没有显示任何错误,但也许有人可以解释这些行的含义:

clean:
    rm -f *.o core
rebuild: clean build

最佳答案

clean 行表示,如果您想让 clean 它不依赖于任何东西(“:”后面没有任何东西)。此外,rm 命令会删除所有目标文件。

rebuild: clean build 表示,如果您想要进行 rebuild,它取决于 cleanbuild 。因此,首先要做的是clean(=删除所有目标文件),然后进行build(=编译所有源文件)。之后就没有什么可做的了,就停下来。

为了快速入门,请使配方具有以下语法:

target: dependency1 dependency2 ... dependencyN
    command1
    command2
    ...
    command3

因此,如果首先需要创建target,则所有依赖项(dependency1 - dependencyN)都会创建。完成此操作后,command1 - commandN 将按该顺序执行。

关于c - 用 C 语言编写 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26981693/

相关文章:

c - 如何在 C 中仅反转整数(32 位)的最后 8 位?

c++ - 使用 Not 运算符反转值

visual-studio-2010 - 极简 Qt 构建的推荐标志

c - 使用 -lncurses 对 `initscr' 的 undefined reference

c - Makefile 编译错误未应用 -std=c99

linux - 链接器不使用库,但我要求这样做

c - 4 Whitespace 缩进是否优于 Tab 空格缩进?

c - GNU Make 构建过时且更新于特定时间戳的文件

C 编译器有问题吗?

c++ - 将几个静态文件组合成一个新文件