
all: sokoban.sms

sokoban.sms: sokoban.c sk_core.o sk_levelpack.o sk_display.o apa.o menu.o mfs.o menu_t.apk menu_m.apk skinsel.apk gamedata.mfs
	zcc +sms sk_core.o sk_levelpack.o sk_display.o apa.o menu.o mfs.o sokoban.c -o sokoban.sms -m
	tools\applygfs sokoban.sms 32768 gamedata.mfs
	map2sym sokoban.map sokoban.sym
	
sk_core.o: sk_core.c sk_core.h
	zcc +sms -vn -make-lib sk_core.c
	
sk_levelpack.o: sk_levelpack.c sk_levelpack.h
	zcc +sms -vn -make-lib sk_levelpack.c
	
sk_display.o: sk_display.c sk_display.h
	zcc +sms -vn -make-lib sk_display.c
	
apa.o: apa.c apa.h
	zcc +sms -vn -make-lib apa.c
	
menu.o: menu.c menu.h
	zcc +sms -vn -make-lib menu.c
	
mfs.o: mfs.c mfs.h
	zcc +sms -vn -make-lib mfs.c

menu_t.apk: menu.til
	cutbin menu.til menu_t.cut 1024
	apack menu_t.cut menu_t.apk

menu_m.apk: menu.map
	apack menu.map menu_m.apk

skinsel.apk: skinsel.map
	apack skinsel.map skinsel.apk

clean:
	$(RM) *.bin *.i *.lib *.op* *.o *~ zcc_opt.def
