fixed 16bpp offsets in csprite generator (hardcoded for now)
[dosdemo] / GNUmakefile
1 src = $(wildcard src/*.c) $(wildcard src/scr/*.c) $(wildcard src/sdl/*.c)
2 obj = $(src:.c=.o) $(asmsrc:.asm=.o)
3 dep = $(obj:.o=.d)
4 bin = demo
5
6 asmsrc += font.asm
7
8 inc = -I/usr/local/include -Isrc -Isrc/scr -Isrc/sdl -Ilibs -Ilibs/imago/src -Ilibs/mikmod/include
9 warn = -pedantic -Wall -Wno-unused-variable -Wno-unused-function
10
11 CFLAGS = $(arch) $(warn) -g $(inc) `sdl-config --cflags`
12 LDFLAGS = $(arch) -Llibs/imago -Llibs/mikmod -limago -lmikmod $(sdl_ldflags) -lm
13
14 ifneq ($(shell uname -m), i386)
15         arch = -m32
16         sdl_ldflags = -L/usr/lib/i386-linux-gnu -lSDL
17 else
18         sdl_ldflags = `sdl-config --libs`
19 endif
20
21 $(bin): $(obj) imago mikmod
22         $(CC) -o $@ $(obj) $(LDFLAGS)
23
24 %.o: %.asm
25         nasm -f elf -o $@ $<
26
27 -include $(dep)
28
29 %.d: %.c
30         @echo dep $@
31         @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
32
33 .PHONY: imago
34 imago:
35         $(MAKE) -C libs/imago
36
37 .PHONY: mikmod
38 mikmod:
39         $(MAKE) -C libs/mikmod
40
41 .PHONY: cleanlibs
42 cleanlibs:
43         $(MAKE) -C libs/imago clean
44         $(MAKE) -C libs/mikmod clean
45
46 .PHONY: clean
47 clean:
48         rm -f $(obj) $(bin)
49
50 .PHONY: cleandep
51 cleandep:
52         rm -f $(dep)
53
54 tools/csprite/csprite:
55         $(MAKE) -C tools/csprite
56
57 font.asm: data/font.png tools/csprite/csprite
58         tools/csprite/csprite -n cs_font -s 16x16 -r 288x32+32+17 -conv565 -nasm $< >$@