second commit

This commit is contained in:
2026-07-09 12:30:40 +01:00
parent 06bcac9bf7
commit 1bf565b543
22 changed files with 969 additions and 792 deletions
+114 -103
View File
@@ -1,103 +1,114 @@
.PHONY: all build-gui build-game run
CXX = g++
LDFLAGS = -L./external/raylib/lib \
-L./external/box2d/build/src \
-L./external/asset_packer/bin \
LIBS = -lraylib -lwinmm -lgdi32 -lbox2d -lassetpacker
CXXFLAGS = -std=c++20 -O2 \
-MMD -MP
DEBUGFLAGS = -std=c++20 -g -Og
INCLUDES = -I./external/raylib/include \
-I./external/entt/single_include \
-I./src/include \
-I./external/imgui \
-I./external/rlImGui \
-I./external/box2d/include \
-I./external/nhlohmann_json_3.12.0/ \
-I./external/asset_packer/bin/include \
IMGUI_SRCS = ./external/imgui/imgui.cpp \
./external/imgui/imgui_demo.cpp \
./external/imgui/imgui_draw.cpp \
./external/imgui/imgui_tables.cpp \
./external/imgui/imgui_widgets.cpp \
IMGUI_BACKEND = ./external/rlImGui/rlImGui.cpp
SRC_FILES = ./src/main.cpp \
./src/asset.cpp \
./src/movement.cpp \
./src/player.cpp \
./src/render.cpp \
./src/scenes/scene.cpp \
./src/scenes/game_play_scene.cpp \
./src/scenes/menu_scene.cpp
IMGUI_OBJS = $(patsubst ./external/imgui/%.cpp,./bin/%.o,$(IMGUI_SRCS))
IMGUI_BACKEND_OBJS = $(patsubst ./external/rlImGui/%.cpp,./bin/%.o,$(IMGUI_BACKEND))
OBJS_FILES = $(patsubst ./src/%.cpp,./bin/%.o,$(SRC_FILES))
DEP_FILES = $(patsubst ./bin/%.o,./bin/%.d,$(OBJS_FILES))
all: build-game run
./bin/%.o: ./external/imgui/%.cpp
@mkdir -p bin
$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
./bin/%.o: ./external/rlImGui/%.cpp
@mkdir -p bin
$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
./bin/%.o: ./src/%.cpp
@mkdir -p bin
@mkdir -p $(dir $@)
$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
compile_commands.json: clean
@echo "Generating compile_commands.json..."
bear -- $(MAKE)
-include $(DEP_FILES)
build-gui: $(IMGUI_OBJS)
build-gui-backend: $(IMGUI_BACKEND_OBJS)
build-core: $(OBJS_FILES)
build-game: $(OBJS_FILES) $(IMGUI_OBJS) $(IMGUI_BACKEND_OBJS)
@mkdir -p bin
$(CXX) $(CXXFLAGS) $(OBJS_FILES) $(IMGUI_OBJS) $(IMGUI_BACKEND_OBJS) $(LDFLAGS) $(LIBS) -o ./bin/main.exe
cp ./assets ./bin -rf
build-debug:
@mkdir -p debug
$(CXX) $(DEBUGFLAGS) $(INCLUDES) $(SRC_FILES) $(IMGUI_SRCS) $(IMGUI_BACKEND) $(LDFLAGS) $(LIBS) -o ./debug/d.exe
cp ./assets ./debug -rf
clean:
@rm -r -f ./bin
@rm -f compile_commands.json
clean-debug:
@rm -r -f ./debug
clean-all: clean clean-debug
run:
./bin/main.exe
run-debug:
./debug/d.exe
.PHONY: all build-gui build-game run
CXX = g++
LDFLAGS = -L./external/raylib/lib \
-L./external/box2d/build/src \
-L./external/asset_packer/bin \
LIBS = -lraylib -lwinmm -lgdi32 -lbox2d -lassetpacker
CXXFLAGS = -std=c++20 -O2 \
-MMD -MP
DEBUGFLAGS = -std=c++20 -g -O0
INCLUDES = -I./external/raylib/include \
-I./external/entt/single_include \
-I./src/include \
-I./external/imgui \
-I./external/rlImGui \
-I./external/box2d/include \
-I./external/nhlohmann_json_3.12.0/ \
-I./external/asset_packer/bin/include \
IMGUI_SRCS = ./external/imgui/imgui.cpp \
./external/imgui/imgui_demo.cpp \
./external/imgui/imgui_draw.cpp \
./external/imgui/imgui_tables.cpp \
./external/imgui/imgui_widgets.cpp \
IMGUI_BACKEND = ./external/rlImGui/rlImGui.cpp
SRC_FILES = ./src/asset.cpp \
./src/movement.cpp \
./src/player.cpp \
./src/render.cpp \
./src/scenes/scene.cpp \
./src/scenes/game_play_scene.cpp \
./src/scenes/menu_scene.cpp
ENTRY_POINT = ./src/main.cpp
TEST_ENTRY_POINT = ./src/test.cpp
IMGUI_OBJS = $(patsubst ./external/imgui/%.cpp,./bin/%.o,$(IMGUI_SRCS))
IMGUI_BACKEND_OBJS = $(patsubst ./external/rlImGui/%.cpp,./bin/%.o,$(IMGUI_BACKEND))
OBJS_FILES = $(patsubst ./src/%.cpp,./bin/%.o,$(SRC_FILES))
DEP_FILES = $(patsubst ./bin/%.o,./bin/%.d,$(OBJS_FILES))
all: build-game run
./bin/%.o: ./external/imgui/%.cpp
@mkdir -p bin
$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
./bin/%.o: ./external/rlImGui/%.cpp
@mkdir -p bin
$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
./bin/%.o: ./src/%.cpp
@mkdir -p bin
@mkdir -p $(dir $@)
$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@
compile_commands.json: clean
@echo "Generating compile_commands.json..."
bear -- $(MAKE)
-include $(DEP_FILES)
build-gui: $(IMGUI_OBJS)
build-gui-backend: $(IMGUI_BACKEND_OBJS)
build-core: $(OBJS_FILES)
build-game: $(OBJS_FILES) $(IMGUI_OBJS) $(IMGUI_BACKEND_OBJS)
@mkdir -p bin
$(CXX) $(CXXFLAGS) $(INCLUDES) $(ENTRY_POINT) $(OBJS_FILES) $(IMGUI_OBJS) $(IMGUI_BACKEND_OBJS) $(LDFLAGS) $(LIBS) -o ./bin/main.exe
cp ./assets ./bin -rf
build-test: $(OBJS_FILES) $(IMGUI_OBJS) $(IMGUI_BACKEND_OBJS)
@mkdir -p bin
$(CXX) $(CXXFLAGS) $(INCLUDES) $(TEST_ENTRY_POINT) $(OBJS_FILES) $(IMGUI_OBJS) $(IMGUI_BACKEND_OBJS) $(LDFLAGS) $(LIBS) -o ./bin/test.exe
cp ./assets ./bin -rf
build-debug:
@mkdir -p debug
$(CXX) $(DEBUGFLAGS) $(INCLUDES) $(ENTRY_POINT) $(SRC_FILES) $(IMGUI_OBJS) $(IMGUI_BACKEND_OBJS) $(LDFLAGS) $(LIBS) -o ./debug/d.exe
cp ./data.dat ./debug -rf
clean:
@rm -r -f ./bin
@rm -f compile_commands.json
clean-debug:
@rm -r -f ./debug
clean-all: clean clean-debug
run:
./bin/main.exe
run-debug:
./debug/d.exe
run-test: build-test
./bin/test.exe