- asset loader (needed for android)
[andemo] / Makefile
1 src = $(wildcard src/*.c) $(wildcard src/pc/*.c) libs/glew/glew.c
2 obj = $(src:.c=.o)
3 dep = $(src:.c=.d)
4 bin = demo
5
6 warn = -pedantic -Wall
7 dbg = -g
8 #opt = -O3 -ffast-math -fno-strict-aliasing
9 def = -DMINIGLUT_USE_LIBC -DGLEW_STATIC
10 incdir = -Isrc -Ilibs/imago/src -Ilibs/glew
11 libdir = -Llibs/unix
12
13 CFLAGS = $(warn) $(dbg) $(opt) $(def) $(incdir) -fcommon -MMD
14 LDFLAGS = $(libsys) $(libgl) -lm -limago
15
16 sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/')
17 ifeq ($(sys), mingw)
18         obj = $(src:.c=.w32.o)
19         bin = demo.exe
20         libgl = -lopengl32
21         libsys = -lmingw32 -lgdi32 -lwinmm -mconsole
22 else
23         libgl = -lGL -lX11 -lXext
24 endif
25
26 $(bin): $(obj)
27         $(CC) -o $@ $(obj) $(LDFLAGS)
28
29 -include $(dep)
30
31 %.w32.o: %.c
32         $(CC) -o $@ $(CFLAGS) -c $<
33
34 .PHONY: clean
35 clean:
36         rm -f $(obj) $(bin)
37
38 .PHONY: cleandep
39 cleandep:
40         rm -f $(dep)
41
42 .PHONY: libs
43 libs:
44         $(MAKE) -C libs
45
46 .PHONY: clean-libs
47 clean-libs:
48         $(MAKE) -C libs clean
49
50
51 .PHONY: cross
52 cross:
53         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw
54
55 .PHONY: cross-libs
56 cross-libs:
57         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw -C libs
58
59 .PHONY: cross-clean
60 cross-clean:
61         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw clean
62
63 .PHONY: cross-clean-libs
64 cross-clean-libs:
65         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw -C libs clean