makefile的c语言demo
时间: 2024-08-12 10:10:26 浏览: 54
Makefile 是一种自动化构建工具,常用于管理和编译源代码。以下是一个简单的 Makefile 示例,用于编译一个名为 `main.c` 的 C 语言程序:
```makefile
# 定义目标(可执行文件名)
CC = gcc # 使用 gcc 编译器
EXECUTABLE = my_program
# 定义依赖文件(源文件)
SOURCES = main.c
# 命令行规则:当 main.c 文件被修改时,重新编译
%.o: %.c
$(CC) -c $< -o $@
# 最终的目标:编译源文件并链接生成可执行文件
$(EXECUTABLE): $(SOURCES:.c=.o)
$(CC) -o $(EXECUTABLE) $(SOURCES:.c=.o)
# 清理规则:删除编译后的中间文件和可执行文件
clean:
rm -f *.o $(EXECUTABLE)
# 默认目标:执行编译过程
all: $(EXECUTABLE)
# 删除所有中间文件和可执行文件
.PHONY: clean all
```
在这个例子中:
- `CC` 变量定义了使用的编译器。
- `EXECUTABLE` 定义了最终生成的可执行文件名。
- `%` 是通配符,`%.o` 表示任何以 `.o` 结尾的文件。
- 当 `main.c` 改变时,会自动编译生成对应的 `.o` 文件。
- `$(EXECUTABLE)` 规则将所有的 `.o` 文件链接成可执行文件。
- `clean` 目标用于清理中间文件。
- `all` 目标是默认目标,执行 `make` 时会执行编译。
使用这个 Makefile,只需在命令行中输入 `make` 或 `make all` 来编译程序,`make clean` 则用于清理。
阅读全文