foo
[gbajam22] / Makefile.pc
1 src = $(wildcard src/*.c) $(wildcard src/pc/*.c)
2 ssrc = $(wildcard src/*.s) data/lut.s
3 obj = $(src:.c=.o) $(ssrc:.s=.o)
4 dep = $(src:.c=.d)
5 bin = gbajam22
6
7 opt = -O0 -fno-strict-aliasing -fcommon
8 dbg = -g
9 inc = -I. -Isrc -Isrc/gba
10 warn = -pedantic -Wall
11
12 CFLAGS = $(opt) $(dbg) $(warn) -MMD $(def) $(inc)
13 LDFLAGS = $(libs) -lm
14
15 -include cfg.mk
16
17 sys = $(shell uname -s | sed 's/MINGW.*/mingw/')
18 ifeq ($(sys), mingw)
19         libs = -lopengl32 -lwinmm
20 else
21         libs = -lGL -lX11 -lXext
22 endif
23
24
25 $(bin): $(obj)
26         $(CC) -o $@ $(obj) $(LDFLAGS)
27
28 -include $(dep)
29
30 src/data.o: src/data.s $(data)
31
32 tools/pngdump/pngdump:
33         $(MAKE) -C tools/pngdump
34
35 tools/lutgen: tools/lutgen.c
36         $(CC) -o $@ $< -lm
37
38 tools/vistab: tools/vistab.c
39         $(CC) -o $@ $< -lm
40
41 %.sraw: %.png tools/pngdump/pngdump
42         tools/pngdump/pngdump -o $@ -oc $(subst .sraw,.spal,$@) -os $(subst .sraw,.shade,$@) -s 8 $<
43
44 %.raw: %.png tools/pngdump/pngdump
45         tools/pngdump/pngdump -o $@ -n $<
46
47 %.pal: %.png tools/pngdump/pngdump
48         tools/pngdump/pngdump -o $@ -c $<
49
50 data/lut.s: tools/lutgen
51         tools/lutgen >$@
52
53 .PHONY: clean
54 clean:
55         rm -f $(obj) $(bin)
56
57 .PHONY: cleandep
58 cleandep:
59         rm -f $(dep)
60
61 # vi:ft=make: