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