linux 写 makefile 生成 目标文件 并连接成 可执行文件
时间: 2024-05-13 18:18:32 浏览: 176
Makefile自动搜所目录及子目录下的的所有文件、自动生成编译目录
Makefile 是一种构建工具,用于自动化编译和构建程序。下面是一个简单的 Makefile,用于生成一个名为 `executable` 的可执行文件,它由三个源文件 `main.c`、`foo.c` 和 `bar.c` 组成:
```makefile
CC = gcc
CFLAGS = -Wall -Werror
LDFLAGS =
SRCS = main.c foo.c bar.c
OBJS = $(SRCS:.c=.o)
all: executable
executable: $(OBJS)
$(CC) $(LDFLAGS) -o $@ $^
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
clean:
rm -f $(OBJS) executable
```
这个 Makefile 中包含以下内容:
- `CC`:编译器的名称
- `CFLAGS`:编译器的选项
- `LDFLAGS`:链接器的选项
- `SRCS`:源文件列表
- `OBJS`:目标文件列表
- `all`:默认目标,生成可执行文件
- `executable`:目标文件,由 `OBJS` 连接而成
- `$(OBJS)`:依赖于 `SRCS`,由 `CFLAGS` 编译而成
- `%.o: %.c`:生成目标文件的规则
- `clean`:清除生成的目标文件和可执行文件
要使用 Makefile,只需在终端中输入 `make` 命令即可自动编译和构建程序。可以使用 `make clean` 命令清除生成的文件。
阅读全文