linux c++ makefile模板
时间: 2023-11-25 10:03:20 浏览: 79
下面是一个常见的Linux C Makefile模板:
```makefile
# 定义编译器和编译选项
CC = gcc
CFLAGS = -Wall -Wextra
# 定义目标文件和依赖文件
TARGET = app
SRCS = main.c function1.c function2.c
OBJS = $(SRCS:.c=.o)
DEPS = $(SRCS:.c=.d)
# 默认目标
all: $(TARGET)
# 生成可执行文件
$(TARGET): $(OBJS)
$(CC) $(CFLAGS) $^ -o $@
# 生成目标文件
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
# 生成依赖文件
%.d: %.c
$(CC) $(CFLAGS) -MM $< > $@
# 包含依赖文件
-include $(DEPS)
# 清除可执行文件和目标文件
clean:
rm -f $(TARGET) $(OBJS) $(DEPS)
.PHONY: clean
```
这个Makefile模板中包含了几个常见的部分:
1. 定义了编译器和编译选项,可以根据需要进行修改。
2. 定义了目标文件和依赖文件,其中目标文件即可执行文件,依赖文件用于处理文件之间的依赖关系。
3. 默认目标是生成可执行文件,依赖于目标文件和依赖文件。
4. 生成可执行文件的规则中,使用了变量和自动化变量,使得Makefile更加灵活和易于维护。
5. 添加了生成依赖文件的规则,利用gcc的-MM选项可以自动生成依赖关系。
6. 使用了"-include"指令来包含依赖文件,以确保Makefile在第一次构建时也能正确处理依赖关系。
通过这个Makefile模板,你可以在Linux环境下快速构建和编译C项目。你只需要将源文件(main.c, function1.c, function2.c等)添加到SRCS变量中,然后运行"make"命令即可生成可执行文件。
阅读全文