Makefile 文件使得编译的中间产品.o 文件放置在 obj 目录, 最终的可执行文件 main 放置在 bin 目录。另外,要求 Makefile 中提供 clean 选项,只要输入命令“make clean
时间: 2024-05-04 20:16:31 浏览: 186
makefile的make命令
”,就能将 obj 和 bin 目录下的所有文件清空。请问,您能否提供一个符合要求的 Makefile 文件呢?
我可以提供一个基本的 Makefile 文件模板,您可以根据您的具体情况进行修改:
```makefile
# 编译器
CC = gcc
# 编译选项
CFLAGS = -Wall -Wextra -std=c99
# 目录设置
OBJ_DIR = obj
BIN_DIR = bin
# 源文件列表
SRC_FILES = main.c file1.c file2.c
# 目标文件列表
OBJ_FILES = $(patsubst %.c,$(OBJ_DIR)/%.o,$(SRC_FILES))
# 目标可执行文件
BIN_FILE = $(BIN_DIR)/main
# 链接规则
$(BIN_FILE): $(OBJ_FILES)
$(CC) $(CFLAGS) $^ -o $@
# 编译规则
$(OBJ_DIR)/%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
# clean 规则
.PHONY: clean
clean:
rm -f $(OBJ_DIR)/*.o $(BIN_FILE)
```
此 Makefile 文件将所有源文件都编译成 .o 文件,并放置在 obj 目录下,最终的可执行文件 main 放置在 bin 目录下。同时提供了 make clean 命令,可以清空 obj 和 bin 目录下的所有文件。您可以将 SRC_FILES 替换成您的源文件列表,OBJ_FILES 替换成您的目标文件列表,BIN_FILE 替换成您的最终可执行文件名,以及 OBJ_DIR 和 BIN_DIR 替换成您想要的目录名称。
阅读全文