added dependency tracking to the GNU makefile
[dosdemo] / GNUmakefile
1 src = $(wildcard src/*.c) $(wildcard src/sdl/*.c)
2 obj = $(src:.c=.o)
3 dep = $(obj:.o=.d)
4 bin = demo
5
6 inc = -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 -include $(dep)
15
16 %.d: %.c
17         @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
18
19 .PHONY: imago
20 imago:
21         $(MAKE) -C libs/imago
22
23 .PHONY: mikmod
24 mikmod:
25         $(MAKE) -C libs/mikmod
26
27 .PHONY: clean
28 clean:
29         rm -f $(obj) $(bin)
30
31 .PHONY: cleandep
32 cleandep:
33         rm -f $(dep)