CONFIG ?= release
BUILD_DIR := ./build/${CONFIG}
JUCE_ROOT=../../JUCE-3.1.1/modules
SRCS := ${JUCE_ROOT}/juce_core/juce_core.cpp
SRCS += ${JUCE_ROOT}/juce_data_structures/juce_data_structures.cpp
SRCS += ${JUCE_ROOT}/juce_events/juce_events.cpp
SRCS += ${JUCE_ROOT}/juce_graphics/juce_graphics.cpp
SRCS += ${JUCE_ROOT}/juce_gui_basics/juce_gui_basics.cpp
SRCS += ${JUCE_ROOT}/juce_gui_extra/juce_gui_extra.cpp
SRCS += ${JUCE_ROOT}/juce_opengl/juce_opengl.cpp
OBJS := $(addprefix ${BUILD_DIR}/, $(notdir $(subst .cpp,.o,$(SRCS))))
	
all: ${BUILD_DIR}/juce.a

CXXFLAGS += -std=c++11
CXXFLAGS_debug := ${CXXFLAGS} -O0 -g
CXXFLAGS_release := ${CXXFLAGS} -O2
	
INCLUDES := -I./ -I/usr/include/freetype2
LIBS := -lfreetype -lpthread -ldl -lrt -lX11 -lGL -lXinerama -lXext	

${OBJS}: ${SRCS} ${BUILD_DIR}
	g++ ${CXXFLAGS_${CONFIG}} ${DEFINES} ${INCLUDES} -o $@ -c $<

${BUILD_DIR}/juce.a: ${OBJS}
	ar -q $@ ${OBJS}

${BUILD_DIR}:
	mkdir -p $@
	
clean:
	rm -rf ${BUILD_DIR}/*