
SHELL = /bin/sh
CXX = g++
CXXFLAGS = -std=c++11 -g -ggdb3 -Wall \
	-Iinclude \
	-I/usr/include/SDL2 \
	-Iext/stb_libs \
	-Iext/tinygltf
EXAMPLEDIR = examples
OBJDIR = build
SRCDIR = src
LIBNAME = libTangerine.a

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


all: mkdirs $(LIBNAME)
	$(MAKE) examples
.PHONY: all

-include $(OBJDIR)/*.d

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

$(LIBNAME): $(RENDER_OBJECTS)
	ar -crsuU $(OBJDIR)/$(LIBNAME) $(RENDER_OBJECTS)

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

examples:
	$(MAKE) -C $(EXAMPLEDIR)
.PHONY: examples

clean:
	rm -rf $(OBJDIR)/*
	$(MAKE) clean -C $(EXAMPLEDIR)
.PHONY: clean
