fixed windows build
[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 = $(libdir) $(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         libdir = -Llibs/w32
23 else
24         libgl = -lGL -lX11 -lXext
25 endif
26
27 $(bin): $(obj)
28         $(CC) -o $@ $(obj) $(LDFLAGS)
29
30 -include $(dep)
31
32 %.w32.o: %.c
33         $(CC) -o $@ $(CFLAGS) -c $<
34
35 .PHONY: clean
36 clean:
37         rm -f $(obj) $(bin)
38
39 .PHONY: cleandep
40 cleandep:
41         rm -f $(dep)
42
43 .PHONY: libs
44 libs:
45         $(MAKE) -C libs
46
47 .PHONY: clean-libs
48 clean-libs:
49         $(MAKE) -C libs clean
50
51 .PHONY: android
52 android:
53         $(MAKE) -f Makefile.android
54
55 .PHONY: android-clean
56 android-clean:
57         $(MAKE) -f Makefile.android clean
58
59 .PHONY: android-libs
60 android-libs:
61         $(MAKE) -f Makefile.android libs
62
63 .PHONY: run
64 run:
65         $(MAKE) -f Makefile.android install run
66
67 .PHONY: stop
68 stop:
69         $(MAKE) -f Makefile.android stop
70
71 .PHONY: cross
72 cross:
73         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw
74
75 .PHONY: cross-libs
76 cross-libs:
77         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw -C libs
78
79 .PHONY: cross-clean
80 cross-clean:
81         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw clean
82
83 .PHONY: cross-clean-libs
84 cross-clean-libs:
85         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw -C libs clean