ffa81be56eda18805ff03b9b84f749524dad55d2
[censuslogo] / Makefile
1 src = $(wildcard src/*.c)
2 obj = $(src:.c=.o)
3 dep = $(obj:.o=.d)
4 bin = censuslogo
5
6 sys ?= $(shell uname -s | sed 's/MINGW.*/mingw/')
7
8 CFLAGS = -pedantic -Wall -g
9 LDFLAGS = $(LDFLAGS_$(sys)) -lm
10
11 LDFLAGS_Linux = -lGL -lGLU -lglut
12 LDFLAGS_mingw = -lmingw32 -mconsole -lopengl32 -lglu32 -lfreeglut
13
14 ifeq ($(sys), mingw)
15         obj = $(src:.c=.w32.o)
16         bin = censuslogo.exe
17 endif
18
19 $(bin): $(obj)
20         $(CC) -o $@ $(obj) $(LDFLAGS)
21
22 -include $(dep)
23
24 %.d: %.c
25         @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
26
27 .PHONY: clean
28 clean:
29         rm -f $(obj) $(bin)
30
31 .PHONY: cleandep
32 cleandep:
33         rm -f $(dep)
34
35 # --- cross-compile rules for win32 ---
36 %.w32.o: %.c
37         $(CC) -o $@ $(CFLAGS) -c $<
38
39 .PHONY: cross
40 cross:
41         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw
42
43 .PHONY: cross-clean
44 cross-clean:
45         $(MAKE) CC=i686-w64-mingw32-gcc sys=mingw clean