X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=Makefile;h=a7334eec53188d380acf21b2d6afdf65491a2494;hp=ae16e3e651af869e3a44b3ff2b2a30cadf6c77dd;hb=e9070b6571e0fffb70b5a7f0625906d1627b37c1;hpb=3674b7a5b534224cc22551673a9d0ae9b83206c4 diff --git a/Makefile b/Makefile index ae16e3e..a7334ee 100644 --- a/Makefile +++ b/Makefile @@ -1,35 +1,66 @@ -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 -#opt = -O3 -ffast-math +opt = -O3 -ffast-math dbg = -g incpath = -Isrc -Isrc/machine -I/usr/local/include `pkg-config --cflags sdl2` -libpath = -L/usr/local/lib +#libpath = -L/usr/local/lib warn = -pedantic -Wall -CFLAGS = $(warn) $(opt) $(dbg) $(incpath) -CXXFLAGS = -std=c++11 $(warn) $(opt) $(dbg) $(incpath) -LDFLAGS = $(libpath) $(libgl_$(sys)) -lm -lgmath -lvmath -limago -lresman \ - -lpthread -lassimp -ltreestore -ldrawtext -loptcfg -lgoatvr `pkg-config --libs sdl2` +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 -lassman \ + `pkg-config --libs sdl2 freetype2` -lpng -ljpeg -lz -lvorbisfile -lgomp -sys = $(shell uname -s | sed 's/MSYS.*/msys/') +sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/') libgl_Linux = -lGL -lGLU -lGLEW libgl_Darwin = -framework OpenGL -lGLEW -libgl_msys = -lopengl32 -lglu32 -lglew32 +libgl_mingw = -lopengl32 -lglu32 -lglew32 +#libgl_mingw = -lglu32 -Wl,-Bstatic -lglew32 -Wl,-Bdynamic -lopengl32 -ifeq ($(sys), msys) - CFLAGS += -mwin32 - CXXFLAGS += -mwin32 +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 + #CXXFLAGS += -DGLEW_STATIC endif $(bin): .clang_complete $(obj) $(CXX) -o $@ $(obj) $(LDFLAGS) +.PHONY: cross +cross: + $(MAKE) CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ sys=mingw + +.PHONY: cross-clean +cross-clean: + $(MAKE) CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ sys=mingw clean + +.PHONY: instalien +instalien: demo.exe + cp $< /alien/demo/$< + mkdir -p /alien/demo/sdr && cp sdr/* /alien/demo/sdr/ + for i in `tools/dlldepends | grep -v '++'`; do echo $$i; rsync $$i /alien/demo; done + .clang_complete: Makefile rm -f $@ for i in $(CXXFLAGS); do echo $$i >>$@; done @@ -42,6 +73,12 @@ $(bin): .clang_complete $(obj) %.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)