take mass into account
[dosdemo] / GNUmakefile
index 348256c..6e91ee8 100644 (file)
@@ -1,19 +1,40 @@
-src = $(wildcard src/*.c) $(wildcard src/sdl/*.c)
-obj = $(src:.c=.o)
+src = $(wildcard src/*.c) $(wildcard src/scr/*.c) $(wildcard src/sdl/*.c)
+asmsrc = $(wildcard src/*.asm)
+obj = $(src:.c=.o) $(asmsrc:.asm=.o)
 dep = $(obj:.o=.d)
 bin = demo
 
-inc = -I/usr/local/include -Isrc -Isrc/sdl -Ilibs/imago/src -Ilibs/mikmod/include
+asmsrc += cspr/dbgfont.asm cspr/confont.asm
+bindata = data/loading.img
 
-CFLAGS = -pedantic -Wall -g $(inc) `sdl-config --cflags`
-LDFLAGS = -Llibs/imago -Llibs/mikmod -limago -lmikmod `sdl-config --libs` -lm
+inc = -I/usr/local/include -Isrc -Isrc/scr -Isrc/sdl -Ilibs -Ilibs/imago/src -Ilibs/mikmod/include
+warn = -pedantic -Wall -Wno-unused-variable -Wno-unused-function
+
+CFLAGS = $(arch) $(warn) -g $(inc) `sdl-config --cflags`
+LDFLAGS = $(arch) -Llibs/imago -Llibs/mikmod -limago -lmikmod $(sdl_ldflags) -lm
+
+ifneq ($(shell uname -m), i386)
+       arch = -m32
+       sdl_ldflags = -L/usr/lib/i386-linux-gnu -lSDL-1.2
+else
+       sdl_ldflags = `sdl-config --libs`
+endif
+
+.PHONY: all
+all: data $(bin)
 
 $(bin): $(obj) imago mikmod
        $(CC) -o $@ $(obj) $(LDFLAGS)
 
+%.o: %.asm
+       nasm -f elf -o $@ $<
+
+src/data.o: src/data.asm $(bindata)
+
 -include $(dep)
 
 %.d: %.c
+       @echo dep $@
        @$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
 
 .PHONY: imago
@@ -24,6 +45,11 @@ imago:
 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)
@@ -31,3 +57,7 @@ clean:
 .PHONY: cleandep
 cleandep:
        rm -f $(dep)
+
+.PHONY: data
+data:
+       @tools/procdata