- integrated (in the UNIX build only) automatic generation of compiled
sprites with csprite
- converted the UNIX build to 32bit, to allow using the same assembly
code as with the DOS version (again for compiled sprites mostly)
+tools/csprite/csprite
+font.asm
dep = $(obj:.o=.d)
bin = demo
dep = $(obj:.o=.d)
bin = demo
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
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 = $(warn) -g $(inc) `sdl-config --cflags`
-LDFLAGS = -Llibs/imago -Llibs/mikmod -limago -lmikmod `sdl-config --libs` -lm
+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
+else
+ sdl_ldflags = `sdl-config --libs`
+endif
$(bin): $(obj) imago mikmod
$(CC) -o $@ $(obj) $(LDFLAGS)
$(bin): $(obj) imago mikmod
$(CC) -o $@ $(obj) $(LDFLAGS)
@$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
.PHONY: imago
@$(CPP) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
.PHONY: imago
.PHONY: cleandep
cleandep:
rm -f $(dep)
.PHONY: cleandep
cleandep:
rm -f $(dep)
+
+tools/csprite/csprite:
+ $(MAKE) -C tools/csprite
+
+font.asm: data/font.png tools/csprite/csprite
+ tools/csprite/csprite -n font -s 16x16 -r 288x32+32+17 -conv565 -nasm $< >$@
obj = $(src:.c=.o)
alib = libanim.a
obj = $(src:.c=.o)
alib = libanim.a
-CFLAGS = -Wno-main -g -I.. -I../../src
+CFLAGS = -m32 -Wno-main -g -I.. -I../../src
$(alib): $(obj)
$(AR) rcs $@ $(obj)
$(alib): $(obj)
$(AR) rcs $@ $(obj)
obj = $(src:.c=.o)
alib = libimago.a
obj = $(src:.c=.o)
alib = libimago.a
-CFLAGS = -Wno-main -g -Izlib -Ilibpng -Ijpeglib
+CFLAGS = -m32 -Wno-main -g -Izlib -Ilibpng -Ijpeglib
$(alib): $(obj)
$(AR) rcs $@ $(obj)
$(alib): $(obj)
$(AR) rcs $@ $(obj)
def = -DHAVE_CONFIG_H -DMIKMOD_BUILD
inc = -I. -Iinclude
warn = -pedantic -Wall -Wno-unused-variable -Wno-unused-function
def = -DHAVE_CONFIG_H -DMIKMOD_BUILD
inc = -I. -Iinclude
warn = -pedantic -Wall -Wno-unused-variable -Wno-unused-function
-CFLAGS = $(warn) -g $(def) $(inc) `pkg-config --cflags sdl`
+CFLAGS = -m32 $(warn) -g $(def) $(inc) `pkg-config --cflags sdl`
$(alib): $(obj)
$(AR) rcs $@ $(obj)
$(alib): $(obj)
$(AR) rcs $@ $(obj)
"tiletab:\n",
/* NASM template */
"tiletab:\n",
/* NASM template */
"%s:\n"
"\tmov eax, [esp + 12]\n"
"%s:\n"
"\tmov eax, [esp + 12]\n"
"\tmul ecx\n"
"\tadd eax, [esp + 8]\n"
"\tadd eax, [esp + 4]\n"
"\tmul ecx\n"
"\tadd eax, [esp + 8]\n"
"\tadd eax, [esp + 4]\n"