Poly3d/Makefile
OusmBlueNinja a9bfb2d27a Main
2024-11-25 17:08:00 -06:00

56 lines
1.2 KiB
Makefile

# Compiler
CC = g++
# Compiler flags
CFLAGS = -Wall -g
# Paths to include directories (Adjust these paths to your installation)
IMG_INCLUDE_DIR = include
IMGUI_INCLUDE_DIR = imgui
SDL2_LIB_DIR = C:/msys64/mingw64/bin
LIB_DIR = lib
# Include directories
INCLUDE_DIRS = -I$(IMG_INCLUDE_DIR) -I$(IMGUI_INCLUDE_DIR)
# Library directories
LIB_DIRS = -L$(SDL2_LIB_DIR) -L$(LIB_DIR)
# Libraries to link
LIBS = -lmingw32 -lglfw3 -lopengl32 -lglew32 -lyaml-cpp -lcomdlg32
# Source directories
SRC_DIR = src
IMGUI_DIR = imgui
# Object directory
OBJ_DIR = build
# Source files
SOURCES = $(wildcard $(SRC_DIR)/*.cpp) $(wildcard $(IMGUI_DIR)/*.cpp)
# Object files
OBJECTS = $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SOURCES))
OBJECTS := $(patsubst $(IMGUI_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(OBJECTS))
# Executable name
EXECUTABLE = $(OBJ_DIR)/game_engine.exe
# Build target
all: $(OBJ_DIR) $(EXECUTABLE)
$(OBJ_DIR):
mkdir $(OBJ_DIR)
$(EXECUTABLE): $(OBJECTS)
$(CC) $(OBJECTS) -o $@ $(LIB_DIRS) $(LIBS)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp
$(CC) $(CFLAGS) $(INCLUDE_DIRS) -c $< -o $@
$(OBJ_DIR)/%.o: $(IMGUI_DIR)/%.cpp
$(CC) $(CFLAGS) $(INCLUDE_DIRS) -c $< -o $@
clean:
del /Q $(OBJ_DIR)\*.o