build windows binary in the same directory
[laserbrain_demo] / Makefile
index d3220fc..a3e49a2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,11 @@
-src = $(wildcard src/*.cc) $(wildcard src/machine/*.cc) $(wildcard src/blobs/*.cc)
-csrc = $(wildcard src/*.c) $(wildcard src/machine/*.c) $(wildcard src/blobs/*.c)
+src = $(wildcard src/*.cc) \
+         $(wildcard src/audio/*.cc) \
+         $(wildcard src/machine/*.cc) \
+         $(wildcard src/blobs/*.cc) \
+         $(wildcard src/imgui/*.cc)
+csrc = $(wildcard src/*.c) \
+          $(wildcard src/machine/*.c) \
+          $(wildcard src/blobs/*.c)
 obj = $(src:.cc=.o) $(csrc:.c=.o)
 dep = $(obj:.o=.d)
 bin = demo
@@ -12,19 +18,26 @@ incpath = -Isrc -Isrc/machine -I/usr/local/include `pkg-config --cflags sdl2`
 
 warn = -pedantic -Wall
 
-CFLAGS = $(warn) $(opt) $(dbg) $(incpath)
-CXXFLAGS = -std=c++11 $(warn) $(opt) $(dbg) $(incpath)
-LDFLAGS = $(libpath) -ldrawtext $(libgl_$(sys)) -lm -lgmath -lvmath -limago \
-                 -lresman -lpthread -lassimp -ltreestore -lgoatvr \
-                 `pkg-config --libs sdl2 freetype2` -lpng -ljpeg -lz
+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/')
+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 = -lopenal
+
 ifeq ($(sys), mingw)
+       obj = $(src:.cc=.w32.o) $(csrc:.c=.w32.o)
+       dep     = $(obj:.o=.d)
+
        bin = demo.exe
        LDFLAGS += -lmingw32 -lSDL2main -lSDL2 -lwinmm -mwindows
        #CFLAGS += -DGLEW_STATIC
@@ -41,6 +54,11 @@ cross:
 .PHONY: instalien
 instalien: demo.exe
        cp $< /alien/demo/$<
+       mkdir -p /alien/demo/sdr && cp sdr/* /alien/demo/sdr/
+
+.PHONY: run
+run: instalien
+       rsh alien 'cd C:\Users\nuclear\Desktop\samba\demo && demo.exe'
 
 .clang_complete: Makefile
        rm -f $@
@@ -54,6 +72,12 @@ instalien: demo.exe
 %.d: %.cc
        @$(CPP) $(CXXFLAGS) $< -MM -MT $(@:.d=.o) >$@
 
+%.w32.o: %.c
+       $(CC) -o $@ $(CFLAGS) -c $<
+
+%.w32.o: %.cc
+       $(CC) -o $@ $(CXXFLAGS) -c $<
+
 .PHONY: clean
 clean:
        rm -f $(obj) $(bin)