fixed warnings
[dosdemo] / GNUmakefile
index 312fd6a..48805fa 100644 (file)
@@ -1,15 +1,42 @@
 src = $(wildcard src/*.c) $(wildcard src/sdl/*.c)
-obj = $(src:.c=.o)
+obj = $(src:.c=.o) $(asmsrc:.asm=.o)
+dep = $(obj:.o=.d)
 bin = demo
 
-inc = -Isrc -Isrc/sdl
+inc = -I/usr/local/include -Isrc -Isrc/sdl -Ilibs/imago/src -Ilibs/mikmod/include
+warn = -pedantic -Wall -Wno-unused-variable -Wno-unused-function
 
-CFLAGS = -pedantic -Wall -g $(inc) `sdl-config --cflags`
-LDFLAGS = `sdl-config --libs` -lm
+CFLAGS = $(warn) -g $(inc) `sdl-config --cflags`
+LDFLAGS = -Llibs/imago -Llibs/mikmod -limago -lmikmod `sdl-config --libs` -lm
 
-$(bin): $(obj)
+$(bin): $(obj) imago mikmod
        $(CC) -o $@ $(obj) $(LDFLAGS)
 
+%.o: %.asm
+       nasm -f elf -o $@ $<
+
+-include $(dep)
+
+%.d: %.c
+       @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
+
+.PHONY: imago
+imago:
+       $(MAKE) -C libs/imago
+
+.PHONY: mikmod
+mikmod:
+       $(MAKE) -C libs/mikmod
+
+.PHONY: cleanlibs
+cleanlibs:
+       $(MAKE) -C libs/imago clean
+       $(MAKE) -C libs/mikmod clean
+
 .PHONY: clean
 clean:
        rm -f $(obj) $(bin)
+
+.PHONY: cleandep
+cleandep:
+       rm -f $(dep)