feat(game): 添加基础游戏引擎和渲染模块
- 新增游戏引擎核心模块,包括初始化和运行逻辑 - 实现基本的渲染功能,支持控制台输出 - 添加物理引擎基础,包括碰撞检测 - 集成日志系统,用于调试和信息输出 - 创建窗口和输入管理模块
This commit is contained in:
65
game_core/Makefile
Normal file
65
game_core/Makefile
Normal file
@@ -0,0 +1,65 @@
|
||||
# 编译器设置
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -Wextra -g -I../game_engine
|
||||
LDFLAGS =
|
||||
|
||||
# 目录设置
|
||||
ROOT_DIR := .
|
||||
BUILD_DIR := build
|
||||
ENGINE_DIR := ../game_engine
|
||||
|
||||
# 手动指定源文件目录
|
||||
SRC_DIRS = $(ROOT_DIR) \
|
||||
$(ROOT_DIR)/test \
|
||||
$(ROOT_DIR)/plantform \
|
||||
$(ROOT_DIR)/plantform/win_term \
|
||||
$(ENGINE_DIR) \
|
||||
$(ENGINE_DIR)/components \
|
||||
$(ENGINE_DIR)/events \
|
||||
$(ENGINE_DIR)/physics \
|
||||
$(ENGINE_DIR)/pynic_log \
|
||||
$(ENGINE_DIR)/render \
|
||||
$(ENGINE_DIR)/resources \
|
||||
$(ENGINE_DIR)/timer \
|
||||
$(ENGINE_DIR)/utils
|
||||
|
||||
SRCS = $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
OBJS := $(patsubst $(ROOT_DIR)/%.c,$(BUILD_DIR)/core/%.o,$(filter $(ROOT_DIR)/%,$(SRCS)))
|
||||
OBJS += $(patsubst $(ENGINE_DIR)/%.c,$(BUILD_DIR)/engine/%.o,$(filter $(ENGINE_DIR)/%,$(SRCS)))
|
||||
|
||||
|
||||
TARGET = $(BUILD_DIR)/../game.exe
|
||||
|
||||
$(TARGET): $(OBJS)
|
||||
$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
|
||||
|
||||
# 当前目录下的文件编译规则
|
||||
$(BUILD_DIR)/core/%.o: $(ROOT_DIR)/%.c
|
||||
@mkdir -p $(@D)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
# 引擎目录下的文件编译规则
|
||||
$(BUILD_DIR)/engine/%.o: $(ENGINE_DIR)/%.c
|
||||
@mkdir -p $(@D)
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
$(BUILD_DIR):
|
||||
mkdir -p $(BUILD_DIR)
|
||||
|
||||
debug:
|
||||
@echo "Source files:"
|
||||
@echo $(SRCS)
|
||||
@echo "Object files:"
|
||||
@echo $(OBJS)
|
||||
|
||||
all: build
|
||||
|
||||
build: $(TARGET)
|
||||
|
||||
run: build
|
||||
./$(TARGET)
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
|
||||
.PHONY: all build run clean debug
|
||||
Reference in New Issue
Block a user