1 Star 0 Fork 0

lhc/learn_cpp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Makefile 997 Bytes
一键复制 编辑 原始数据 按行查看 历史
lhc 提交于 2024-08-11 18:38 . 优化makefil
# 获取当前目录名称作为可执行文件名称
TARGET = $(notdir $(CURDIR))
# 编译器选择(默认使用g++,可以通过环境变量CXX覆盖)
CXX ?= g++
# 编译器标准版本(可以根据需要进行修改)
CXX_STD ?= -std=c++20
# 编译器选项 根据自己选择添加警告为错误选项 -Werror
# CXXFLAGS = $(CXX_STD) -Iinc -Wall -Wextra -Werror -MMD -MP
CXXFLAGS = $(CXX_STD) -Iinc -Wall -Wextra -MMD -MP
# 源文件和目标文件目录
SRC_DIR = src
BUILD_DIR = build
SRC = $(wildcard $(SRC_DIR)/*.cpp)
OBJ = $(patsubst $(SRC_DIR)/%.cpp,$(BUILD_DIR)/%.o,$(SRC))
DEP = $(OBJ:.o=.d)
# 规则
all: $(TARGET)
$(TARGET): $(OBJ)
$(CXX) $(CXXFLAGS) -o $@ $^
$(BUILD_DIR)/%.o: $(SRC_DIR)/%.cpp | $(BUILD_DIR)
$(CXX) $(CXXFLAGS) -c $< -o $@
# 创建构建目录
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
# 运行程序
run: $(TARGET)
./$(TARGET)
# 清理
clean:
rm -rf $(BUILD_DIR) $(TARGET)
# 包含依赖文件
-include $(DEP)
# 伪目标
.PHONY: all clean run
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lhc930i/learn_cpp.git
git@gitee.com:lhc930i/learn_cpp.git
lhc930i
learn_cpp
learn_cpp
master

搜索帮助