|
|
|
|
@ -2,8 +2,8 @@
|
|
|
|
|
|
|
|
|
|
CXX = g++
|
|
|
|
|
CXXFLAGS = -std=c++11 -g -ggdb3 -Wall -I/usr/include/SDL2 -Iext/aixlog/include -Iext/stb_libs
|
|
|
|
|
SRC_DIR = src
|
|
|
|
|
OBJ_DIR = build
|
|
|
|
|
SRCDIR = src
|
|
|
|
|
OBJDIR = build
|
|
|
|
|
|
|
|
|
|
# TODO: incorporate imgui into project files and not use gl3w
|
|
|
|
|
# can also remove -ldl from LDFLAGS then
|
|
|
|
|
@ -14,7 +14,8 @@ GL3W_LDFLAGS += -ldl
|
|
|
|
|
|
|
|
|
|
# libGLEW needs to be >= 2.0.0 to use opengl core context
|
|
|
|
|
# don't know a good way to require this in make without forcing a specific version
|
|
|
|
|
LDFLAGS = -lSDL2 -lGLEW -lGL
|
|
|
|
|
#LDFLAGS = -lSDL2 -lGLEW -lGL
|
|
|
|
|
LDFLAGS = -lSDL2 -lGL
|
|
|
|
|
|
|
|
|
|
# IMGUI
|
|
|
|
|
IMGUI_DIR = ext/imgui
|
|
|
|
|
@ -28,23 +29,29 @@ IMGUI_SOURCES = $(IMGUI_DIR)/imgui.cpp \
|
|
|
|
|
$(IMGUI_DIR)/examples/imgui_impl_opengl3.cpp \
|
|
|
|
|
$(IMGUI_DIR)/examplex/imgui_impl_sdl.cpp \
|
|
|
|
|
|
|
|
|
|
IMGUI_OBJECTS := $(patsubst %.cpp, $(OBJ_DIR)/%.o, $(notdir $(IMGUI_SOURCES)))
|
|
|
|
|
IMGUI_OBJECTS := $(patsubst %.cpp, $(OBJDIR)/%.o, $(notdir $(IMGUI_SOURCES)))
|
|
|
|
|
|
|
|
|
|
# assimp
|
|
|
|
|
LDFLAGS += -lassimp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SOURCES = $(wildcard $(SRC_DIR)/*.cpp)
|
|
|
|
|
OBJECTS = $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SOURCES))
|
|
|
|
|
SOURCES = $(wildcard $(SRCDIR)/*.cpp)
|
|
|
|
|
OBJECTS = $(patsubst $(SRCDIR)/%.cpp,$(OBJDIR)/%.o,$(SOURCES))
|
|
|
|
|
|
|
|
|
|
all: $(IMGUI_OBJECTS) $(OBJ_DIR)/gl3w.o $(OBJECTS) |
|
|
|
|
$(CXX) -o $(OBJ_DIR)/hexgame $(LDFLAGS) $(GL3W_LDFLAGS) $(OBJ_DIR)/*.o
|
|
|
|
|
|
|
|
|
|
all: $(IMGUI_OBJECTS) $(OBJDIR)/gl3w.o $(OBJECTS) renderer |
|
|
|
|
$(CXX) -o $(OBJDIR)/hexgame $(LDFLAGS) $(GL3W_LDFLAGS) $(OBJDIR)/*.o $(OBJDIR)/librender.a
|
|
|
|
|
mkdir -p bin
|
|
|
|
|
mv $(OBJ_DIR)/hexgame bin
|
|
|
|
|
mv $(OBJDIR)/hexgame bin
|
|
|
|
|
.PHONY: all |
|
|
|
|
|
|
|
|
|
renderer: |
|
|
|
|
$(MAKE) -C $(SRCDIR)/render
|
|
|
|
|
cp $(SRCDIR)/render/build/librender.a $(OBJDIR)
|
|
|
|
|
|
|
|
|
|
-include $(OBJ_DIR)/*.d |
|
|
|
|
-include $(OBJDIR)/*.d |
|
|
|
|
|
|
|
|
|
$(OBJECTS): $(OBJ_DIR)/%.o : $(SRC_DIR)/%.cpp |
|
|
|
|
$(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.cpp |
|
|
|
|
$(CXX) $(CXXFLAGS) -c -MMD $< -o $@
|
|
|
|
|
|
|
|
|
|
info: |
|
|
|
|
@ -54,28 +61,28 @@ info:
|
|
|
|
|
@echo $(OBJECTS)
|
|
|
|
|
|
|
|
|
|
# NOTE: couldn't find a nicer way to put these object files into build directory :(
|
|
|
|
|
$(OBJ_DIR)/imgui.o: |
|
|
|
|
$(OBJDIR)/imgui.o: |
|
|
|
|
$(CXX) -c $(CXXFLAGS) $(IMGUI_DIR)/imgui.cpp -o $@
|
|
|
|
|
|
|
|
|
|
$(OBJ_DIR)/imgui_demo.o: |
|
|
|
|
$(OBJDIR)/imgui_demo.o: |
|
|
|
|
$(CXX) -c $(CXXFLAGS) $(IMGUI_DIR)/imgui_demo.cpp -o $@
|
|
|
|
|
|
|
|
|
|
$(OBJ_DIR)/imgui_draw.o: |
|
|
|
|
$(OBJDIR)/imgui_draw.o: |
|
|
|
|
$(CXX) -c $(CXXFLAGS) $(IMGUI_DIR)/imgui_draw.cpp -o $@
|
|
|
|
|
|
|
|
|
|
$(OBJ_DIR)/imgui_widgets.o: |
|
|
|
|
$(OBJDIR)/imgui_widgets.o: |
|
|
|
|
$(CXX) -c $(CXXFLAGS) $(IMGUI_DIR)/imgui_widgets.cpp -o $@
|
|
|
|
|
|
|
|
|
|
$(OBJ_DIR)/imgui_impl_opengl3.o: |
|
|
|
|
$(OBJDIR)/imgui_impl_opengl3.o: |
|
|
|
|
$(CXX) -c $(CXXFLAGS) $(IMGUI_DIR)/examples/imgui_impl_opengl3.cpp -o $@
|
|
|
|
|
|
|
|
|
|
$(OBJ_DIR)/imgui_impl_sdl.o: |
|
|
|
|
$(OBJDIR)/imgui_impl_sdl.o: |
|
|
|
|
$(CXX) -c $(CXXFLAGS) $(IMGUI_DIR)/examples/imgui_impl_sdl.cpp -o $@
|
|
|
|
|
|
|
|
|
|
$(OBJ_DIR)/gl3w.o: |
|
|
|
|
$(OBJDIR)/gl3w.o: |
|
|
|
|
$(CC) -c $(GL3W_CFLAGS) $(IMGUI_DIR)/examples/libs/gl3w/GL/gl3w.c -o $@
|
|
|
|
|
|
|
|
|
|
.PHONY: clean |
|
|
|
|
clean: |
|
|
|
|
rm -f bin/hexgame $(OBJ_DIR)/*
|
|
|
|
|
|
|
|
|
|
rm -f bin/hexgame $(OBJDIR)/*
|
|
|
|
|
$(MAKE) -C $(SRCDIR)/render clean
|
|
|
|
|
|