mesh loading
[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`
12 LDFLAGS = $(libsys) $(libgl) `pkg-config --libs sdl2` -ldrawtext -lgoatvr \
13                   -limago -lm
14
15 sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/')
16
17 ifeq ($(sys), mingw)
18         bin = vrtris.exe
19
20         libgl = -lopengl32 -lglew32
21         libsys = -lmingw32 -lwinmm -mwindows
22
23 else ifeq ($(sys), Darwin)
24         libgl = -framework OpenGL -lGLEW
25
26 else
27         libgl = -lGL -lGLEW
28 endif
29
30
31 $(bin): $(obj)
32         $(CC) -o $@ $(obj) $(LDFLAGS)
33
34 -include $(dep)
35
36 %.d: %.c
37         @echo depfile $@
38         @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
39
40 .PHONY: cross
41 cross:
42         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw
43
44 .PHONY: cross-clean
45 cross-clean:
46         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw clean
47
48 .PHONY: clean
49 clean:
50         rm -f $(obj) $(bin)
51
52 .PHONY: cleandep
53 cleandep:
54         rm -f $(dep)
55
56 .PHONY: install
57 install: $(bin) $(data)
58         mkdir -p $(DESTDIR)$(PREFIX)/bin $(DESTDIR)$(PREFIX)/share/vrtris
59         cp $(bin) $(DESTDIR)$(PREFIX)/bin/$(bin)
60         cp $(data) $(DESTDIR)$(PREFIX)/share/vrtris
61
62 .PHONY: uninstall
63 uninstall:
64         rm -f $(DESTDIR)$(PREFIX)/bin/$(bin)
65         for i in $(data); do rm -f $(DESTDIR)$(PREFIX)/share/vrtris/$i; done
66         rmdir $(DESTDIR)$(PREFIX)/share/vrtris