Ai
1 Star 0 Fork 0

mashuai/console_canvas

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
makefile 1.26 KB
一键复制 编辑 原始数据 按行查看 历史
mashuai 提交于 2025-03-01 21:36 +08:00 . feat: ui
# 检测操作系统
ifeq ($(OS),Windows_NT)
# Windows 环境
RM = del /q /f
RMDIR = rmdir /s /q
MKDIR = if not exist "$(1)" mkdir $(1)
TARGET_EXT = .exe
else
# Linux/Unix 环境
RM = rm -f
RMDIR = rm -rf
MKDIR = mkdir -p $(1)
TARGET_EXT =
endif
# 编译器设置
CC = gcc
CFLAGS = -Iinc -Iui -Wall -Wextra
# 目录设置
SRC_DIR = src
UI_DIR = ui
OBJ_DIR = obj
# 源文件列表(自动获取src目录下所有.c文件 + main.c)
SRC_FILES = $(wildcard $(SRC_DIR)/*.c) $(wildcard $(UI_DIR)/*.c) main.c
# 目标文件列表(将.c替换为.o并添加obj目录前缀)
OBJ_FILES = $(patsubst %.c,$(OBJ_DIR)/%.o,$(notdir $(SRC_FILES)))
# 最终目标名称
TARGET = main$(TARGET_EXT)
# VPATH设置帮助make在不同目录查找源文件
VPATH = $(SRC_DIR):$(UI_DIR):.
# 默认目标
all: $(OBJ_DIR) $(TARGET)
# 链接可执行文件
$(TARGET): $(OBJ_FILES)
$(CC) $^ -o $@
# 编译规则(处理src目录和当前目录的.c文件)
$(OBJ_DIR)/%.o: %.c | $(OBJ_DIR)
$(CC) $(CFLAGS) -c $< -o $@
# 创建目标目录
$(OBJ_DIR):
$(call MKDIR,$(OBJ_DIR))
# 清理构建产物
clean:
@echo "Cleaning build artifacts..."
@if "$(OBJ_DIR)" NEQ "" if exist "$(OBJ_DIR)" $(RMDIR) "$(OBJ_DIR)"
@if "$(TARGET)" NEQ "" if exist "$(TARGET)" $(RM) "$(TARGET)"
.PHONY: all clean
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ma65/console_canvas.git
git@gitee.com:ma65/console_canvas.git
ma65
console_canvas
console_canvas
master

搜索帮助