g++ 万能makefile
时间: 2024-08-12 18:09:00 浏览: 63
g++ 是GNU Compiler Collection(GCC)的一部分,它是一个广泛使用的C++编译器,用于在Unix-like系统上构建C++程序。而"万能Makefile"通常指的是一个通用的Makefile模板,用于管理和编译多个源文件到可执行文件,不论项目结构如何,都能适应不同类型的C++项目。
一个基本的g++ 万能Makefile可能会包含以下几个关键部分:
1. 预定义变量和规则:
```makefile
# 定义编译器和目标可执行文件
CC = g++
EXECUTABLE = your_program
# 源文件扩展名
SRC_EXT = cpp cxx
# 源文件目录
SRC_DIR = src
# 输出目录
OUT_DIR = bin
# 基本规则:编译所有cpp文件
%.o: %.${SRC_EXT}
$(CC) -c $(CPPFLAGS) -o $@ $<
```
2. 全局编译规则:
```makefile
all: $(EXECUTABLE)
$(EXECUTABLE): $(wildcard $(SRC_DIR)/*.${SRC_EXT})
$(CC) -o $@ $(LDFLAGS) $(wildcard $(SRC_DIR)/*.o)
```
3. 清理规则:
```makefile
clean:
-rm -f $(OUT_DIR)/*.o $(EXECUTABLE)
```
4. 打包规则:
```makefile
package: $(EXECUTABLE)
tar -czvf your_project.tar.gz $(EXECUTABLE) $(SRC_DIR) Makefile
```
阅读全文