
SHELL = /bin/sh
CXX = g++
CXXFLAGS = -std=c++11 -g -ggdb3 -Wall -I../include -I/usr/include/SDL2
LDFLAGS = -lSDL2 -lGLEW -lGL -lassimp
OBJDIR = build
LIB = ../build/libTangerine.a
BINDIR = bin

ifeq ($(USE_INTERNAL_ASSIMP), y)
CXXFLAGS += -I../$(ASSIMP_DIR)/include -I../$(ASSIMP_DIR)/build/include
LDFLAGS = -lSDL2 -lGLEW -lGL
ASSIMP_LIB := ../$(ASSIMP_DIR)/build/code/libassimp.a
endif

EXAMPLE_SOURCES = \
	render_groups/main.cpp \
	#assimp_loading/main.cpp
	#hello_world/main.cpp \
	#simple_mesh/main.cpp
EXAMPLE_OBJECTS = $(patsubst %/, $(OBJDIR)/%.o, $(dir $(EXAMPLE_SOURCES)))

all: mkdirs $(EXAMPLE_OBJECTS)

-include $(OBJDIR)/*.d

$(EXAMPLE_OBJECTS): $(LIB)
	$(CXX) $(CXXFLAGS) -c -MMD $(basename $(notdir $@))/main.cpp -o $@
	$(CXX) -o $(BINDIR)/$(notdir $(basename $@)) $(LDFLAGS) $@ $(LIB) \
		$(ASSIMP_LIB)

mkdirs:
	@mkdir -p $(BINDIR) $(OBJDIR)
.PHONY: mkdirs

clean:
	rm -rf $(OBJDIR)/* bin/*
.PHONY: clean
