runs in VR
[vrtris] / Makefile
1 src = $(wildcard src/*.c)
2 obj = $(src:.c=.o)
3 dep = $(obj:.o=.d)
4 bin = vrtris
5
6
7 warn = -pedantic -Wall -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast
8 dbg = -g
9 opt = -O0
10
11 CFLAGS = $(warn) $(dbg) $(opt) `pkg-config --cflags sdl2 freetype2`
12 LDFLAGS = $(libsys) -ldrawtext $(libgl) `pkg-config --libs sdl2 freetype2` \
13                   -lgoatvr -limago -lpng -lz -ljpeg -lpthread -lm
14
15 sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/')
16
17 ifeq ($(sys), mingw)
18         obj = $(src:.c=.w32.o)
19         dep     = $(obj:.o=.d)
20
21         bin = vrtris.exe
22
23         libgl = -lopengl32 -lglu32 -lglew32
24         libsys = -lmingw32 -lSDL2main -lwinmm -mwindows
25
26 else ifeq ($(sys), Darwin)
27         libgl = -framework OpenGL -lGLEW
28
29 else
30         libgl = -lGL -lGLU -lGLEW
31 endif
32
33
34 $(bin): $(obj)
35         $(CC) -o $@ $(obj) $(LDFLAGS)
36
37 -include $(dep)
38
39 %.d: %.c
40         @echo depfile $@
41         @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
42
43 %.w32.o: %.c
44         $(CC) -o $@ $(CFLAGS) -c $<
45
46 .PHONY: cross
47 cross:
48         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw
49
50 .PHONY: cross-clean
51 cross-clean:
52         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw clean
53
54 .PHONY: instalien
55 instalien: vrtris.exe
56         cp $< /alien/vrtris/$<
57         for i in `tools/dlldepends | grep -v '++'`; do echo $$i; rsync $$i /alien/vrtris; done
58
59 .PHONY: clean
60 clean:
61         rm -f $(obj) $(bin)
62
63 .PHONY: cleandep
64 cleandep:
65         rm -f $(dep)
66
67 .PHONY: install
68 install: $(bin) $(data)
69         mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/share/vrtris
70         cp $(bin) $(DESTDIR)$(PREFIX)/bin/$(bin)
71         cp $(data) $(DESTDIR)$(PREFIX)/share/vrtris
72
73 .PHONY: uninstall
74 uninstall:
75         rm -f $(DESTDIR)$(PREFIX)/bin/$(bin)
76         for i in $(data); do rm -f $(DESTDIR)$(PREFIX)/share/vrtris/$i; done
77         rmdir $(DESTDIR)$(PREFIX)/share/vrtris