I need to go deeper
[dosdemo] / GNUmakefile
1 src = $(wildcard src/*.c) $(wildcard src/sdl/*.c)
2 obj = $(src:.c=.o) $(asmsrc:.asm=.o)
3 dep = $(obj:.o=.d)
4 bin = demo
5
6 inc = -I/usr/local/include -Isrc -Isrc/sdl -Ilibs/imago/src -Ilibs/mikmod/include
7
8 CFLAGS = -pedantic -Wall -g $(inc) `sdl-config --cflags`
9 LDFLAGS = -Llibs/imago -Llibs/mikmod -limago -lmikmod `sdl-config --libs` -lm
10
11 $(bin): $(obj) imago mikmod
12         $(CC) -o $@ $(obj) $(LDFLAGS)
13
14 %.o: %.asm
15         nasm -f elf -o $@ $<
16
17 -include $(dep)
18
19 %.d: %.c
20         @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
21
22 .PHONY: imago
23 imago:
24         $(MAKE) -C libs/imago
25
26 .PHONY: mikmod
27 mikmod:
28         $(MAKE) -C libs/mikmod
29
30 .PHONY: cleanlibs
31 cleanlibs:
32         $(MAKE) -C libs/imago clean
33         $(MAKE) -C libs/mikmod clean
34
35 .PHONY: clean
36 clean:
37         rm -f $(obj) $(bin)
38
39 .PHONY: cleandep
40 cleandep:
41         rm -f $(dep)