
CXX = g++
CXXFLAGS = -std=c++11 -g -ggdb3 -Wall -Iinclude -I/usr/include/SDL2 -Iext/stb_libs
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) examples
.PHONY: all

-include $(OBJDIR)/*.d

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

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

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

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

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