+warn = -pedantic -Wall
+
+CFLAGS = $(warn) $(opt) $(dbg) $(incpath) -fopenmp
+CXXFLAGS = -std=c++11 $(warn) $(opt) $(dbg) $(incpath) -fopenmp
+LDFLAGS = $(libpath) -ldrawtext $(libgl_$(sys)) $(libal_$(sys)) -lm -lgmath -lvmath \
+ -limago -lresman -lpthread -lassimp -ltreestore -lgoatvr \
+ `pkg-config --libs sdl2 freetype2` -lpng -ljpeg -lz -lvorbisfile -lgomp
+
+sys = $(shell uname -s | sed 's/MINGW.*/mingw/')
+libgl_Linux = -lGL -lGLU -lGLEW
+libgl_Darwin = -framework OpenGL -lGLEW
+libgl_mingw = -lopengl32 -lglu32 -lglew32
+#libgl_mingw = -lglu32 -Wl,-Bstatic -lglew32 -Wl,-Bdynamic -lopengl32
+
+libal_Linux = -lopenal
+libal_Darwin = -framework OpenAL
+libal_mingw = #?
+
+ifeq ($(sys), mingw)
+ bin = demo.exe
+ LDFLAGS += -lmingw32 -lSDL2main -lSDL2 -lwinmm -mwindows
+ #CFLAGS += -DGLEW_STATIC
+ #CXXFLAGS += -DGLEW_STATIC
+endif
+
+$(bin): .clang_complete $(obj)