
CXX = g++
CXXFLAGS = -std=c++11 -g -ggdb3 -Wall -I/usr/include/SDL2
OBJDIR = build

# TODO: switch from gl3w to glew
IMGUI_DIR = ../../ext/imgui
CC = gcc
GL3W_CFLAGS = -g -Wall -I$(IMGUI_DIR)/examples/libs/gl3w
CXXFLAGS += -I$(IMGUI_DIR)/examples/libs/gl3w
GL3W_LDFLAGS += -ldl

RENDER_SOURCES = $(wildcard *.cpp)
RENDER_OBJECTS = $(patsubst %.cpp,$(OBJDIR)/%.o,$(RENDER_SOURCES))


all: $(RENDER_OBJECTS) $(OBJDIR)/gl3w.o
	ar -crs $(OBJDIR)/librender.a $(RENDER_OBJECTS)
.PHONY: all

-include $(OBJDIR)/*.d

$(RENDER_OBJECTS): $(OBJDIR)/%.o : %.cpp
	$(CXX) $(CXXFLAGS) -c -MMD $< -o $@

$(OBJDIR)/gl3w.o:
	$(CC) -c $(GL3W_CFLAGS) $(IMGUI_DIR)/examples/libs/gl3w/GL/gl3w.c -o $@

.PHONY: clean
clean:
	rm $(OBJDIR)/*
