0468c6199fef94d2b9682ae1ac63eff3d1716b6a
[eradicate] / GNUmakefile
1 csrc = $(wildcard src/*.c) $(wildcard src/sdl/*.c) $(wildcard src/3dgfx/*.c)
2 asmsrc = $(wildcard src/*.asm)
3
4 obj = $(csrc:.c=.o) $(asmsrc:.asm=.o)
5 dep = $(obj:.o=.d)
6 bin = game
7
8 inc = -Isrc -Isrc/sdl -Isrc/3dgfx -Ilibs/imago/src
9 warn = -pedantic -Wall
10
11 CFLAGS = $(arch) $(warn) -g -MMD $(inc) `sdl-config --cflags`
12 LDFLAGS = $(arch) -Llibs/imago -limago $(sdl_ldflags) -lm
13
14 ifneq ($(shell uname -m), i386)
15         arch = -m32
16         sdl_ldflags = -L/usr/lib/i386-linux-gnu -lSDL-1.2
17 else
18         sdl_ldflags = `sdl-config --libs`
19 endif
20
21 .PHONY: all
22 all: $(bin)
23
24 $(bin): $(obj) imago
25         $(CC) -o $@ $(obj) $(LDFLAGS)
26
27 %.o: %.asm
28         nasm -f elf -o $@ $<
29
30 -include $(dep)
31
32 .PHONY: imago
33 imago:
34         $(MAKE) -C libs/imago
35
36 .PHONY: clean
37 clean:
38         rm -f $(obj) $(bin)
39
40 .PHONY: cleandep
41 cleandep:
42         rm -f $(dep)
43
44 .PHONY: data
45 data:
46         @tools/procdata