looks more fun when increasing the pull of gravity
[ld42_outofspace] / Makefile
1 ccsrc = $(wildcard src/*.cc) \
2                 $(wildcard src/goatkit/*.cc)
3 csrc = $(wildcard src/*.c)
4 obj = $(ccsrc:.cc=.o) $(csrc:.c=.o)
5 dep = $(obj:.o=.d)
6 bin = game
7
8 warn = -pedantic -Wall
9 dbg = -g
10 opt = -O0
11 inc =
12
13 CFLAGS = $(warn) $(dbg) $(opt) $(inc)
14 CXXFLAGS = $(warn) $(dbg) $(opt) $(inc)
15 LDFLAGS = $(syslibs) $(libgl) -lgmath -limago
16
17 sys := $(shell uname -s | sed 's/MINGW.*/mingw/')
18 ifeq ($(sys), mingw)
19         obj = $(ccsrc:.cc=.w32.o) $(csrc:.c=.w32.o)
20         dep     = $(obj:.o=.d)
21         bin = game.exe
22
23         libgl = -lopengl32 -lglu32 -lfreeglut -lglew32
24         syslibs = -lmingw32 -lwinmm
25 else
26         libgl = -lGL -lGLU -lglut -lGLEW
27         syslibs = -ldl
28 endif
29
30 $(bin): $(obj)
31         $(CXX) -o $@ $(obj) $(LDFLAGS)
32
33 -include $(dep)
34
35 %.d: %.c
36         @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
37
38 %.d: %.cc
39         @$(CPP) $(CXXFLAGS) $< -MM -MT $(@:.d=.o) >$@
40
41 %.w32.o: %.c
42         $(CC) -o $@ $(CFLAGS) -c $<
43
44 %.w32.o: %.cc
45         $(CC) -o $@ $(CXXFLAGS) -c $<
46
47 .PHONY: clean
48 clean:
49         rm -f $(obj) $(bin)
50
51 .PHONY: cleandep
52 cleandep:
53         rm -f $(dep)
54
55 .PHONY: cross
56 cross:
57         $(MAKE) CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ sys=mingw
58
59 .PHONY: cross-clean
60 cross-clean:
61         $(MAKE) CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ sys=mingw clean