写一个c++的makefile
时间: 2024-12-19 10:14:47 浏览: 7
在C++项目中,Makefile是一个自动化构建工具,它通过一系列规则描述了如何从源文件生成目标文件(通常是可执行文件)。下面是一个基本的C++ Makefile示例,用于一个简单的"hello_world"程序:
```makefile
CC = g++ # 使用g++作为编译器
CFLAGS = -Wall -Werror # 编译选项
EXECUTABLE = hello_world # 可执行文件名
# 源文件
SRCS = main.cpp
# 输出目录
BIN_DIR = bin
# 默认目标
all: $(BIN_DIR)/$(EXECUTABLE)
# 构建目标
$(BIN_DIR)/$(EXECUTABLE): $(SRCS)
mkdir -p $(BIN_DIR)
$(CC) $(CFLAGS) -o $@ $^
# 清理规则
clean:
rm -rf $(BIN_DIR)/*.o $(BIN_DIR)/$(EXECUTABLE)
.PHONY: clean all
```
在这个例子中:
- `CC` 和 `CFLAGS` 定义了编译器和额外的编译选项。
- `EXECUTABLE` 指定了生成的可执行文件名称。
- `SRCS` 列出了需要编译的源文件。
- `all` 目标是默认的,当运行 `make` 时会自动构建可执行文件。
- `clean` 规则用于清理编译后的临时文件。
要使用这个Makefile,只需在终端进入项目的根目录,然后输入 `make` (或 `make all` 来直接构建)。
阅读全文