#
# Cross Platform Make file
#
# Compatible with Ubuntu 14.04.1 and Mac OS X
#
#
# if you using Mac OS X:
# You'll need glfw
#    http://www.glfw.org
#

#CXX = g++

OBJS = main.o
OBJS += ../../imgui.o
OBJS += ../opengl_example/gl3w/GL/gl3w.o

UNAME_S := $(shell uname -s)


ifeq ($(UNAME_S), Linux) #LINUX
	ECHO_MESSAGE = "Linux"
	LIBS = `pkg-config --static --libs glfw3`

	CXXFLAGS = -I../../ -I../opengl_example/gl3w `pkg-config --cflags glfw3`
	CXXFLAGS += -Wall
	CFLAGS = $(CXXFLAGS)
endif

ifeq ($(UNAME_S), Darwin) #APPLE
	ECHO_MESSAGE = "Mac OS X"
	LIBS = -framework OpenGL -framework Cocoa -framework IOKit -framework CoreVideo
	LIBS += -L/usr/local/lib
	LIBS += -lglfw3

	CXXFLAGS = -I../../ -I../opengl_example/gl3w -I/usr/local/Cellar/glew/1.10.0/include -I/usr/local/include
	CXXFLAGS += -Wall
#	CXXFLAGS += -D__APPLE__
	CFLAGS = $(CXXFLAGS)
endif

.cpp.o:
	$(CXX) $(CXXFLAGS) -c -o $@ $<

all:imgui_example
	@echo Build complete for $(ECHO_MESSAGE)

imgui_example:$(OBJS)
	$(CXX) -o imgui_example $(OBJS) $(CXXFLAGS) $(LIBS)

clean:
	rm $(OBJS)

