.SUFFIXES: .c .asm .opt .rel .bin .app .bmp

# 
asms = vexed.asm pbitmap.asm system.asm gfx.asm bitmap.asm game.asm globals.asm sound.asm
rels = vexed.rel pbitmap.rel system.rel gfx.rel bitmap.rel game.rel globals.rel sound.rel StartupX.rel
appname = vexed

# make app
# --------
$(appname).app:$(appname).bin $(appname).def icon.bmp
	avmkapp $(appname).def

# link app
# --------
$(appname).bin:StartupX.opt $(rels)
# avlink -o$(appname) $(rels)
	avlink -o$(appname) $(rels)

# convert OPT to REL
# optimize ASM, to OPT
# convert C to ASM
# convert BMP to ASM
# ------------------

.opt.rel:
	avas -o$*.rel $*.opt

StartupX.opt:$(asms)
	optimizer -X -O=StartupX.opt -B=../../lib/fwsdk.ini $(asms)

.asm.opt:$(asms)
	optimizer -X -O=$*.opt -I=$*.asm $(asms)

.c.asm:
	avcp -I../../inc $*.c | avcc > $*.asm

bitmap.asm:
	bmp2asm	-i about.bmp about.asm 
	bmp2asm -i block9.bmp block9.asm
	bmp2asm -i block8.bmp block8.asm
	bmp2asm -i block7.bmp block7.asm
	bmp2asm -i block6.bmp block6.asm
	bmp2asm -i block5.bmp block5.asm
	bmp2asm -i block4.bmp block4.asm
	bmp2asm -i block3.bmp block3.asm
	bmp2asm -i block2.bmp block2.asm
	bmp2asm -i block1.bmp block1.asm
	bmp2asm -i restart.bmp restart.asm
	bmp2asm -i back.bmp back.asm
	bmp2asm -i title.bmp title.asm
	bmp2asm -i forward.bmp forward.asm
	bmp2asm -i lookup.bmp lookup.asm
	bmp2asm -i first.bmp first.asm
	bmp2asm -i last.bmp last.asm
	bmp2asm -i memory.bmp memory.asm
	bmp2asm -i recall.bmp recall.asm
	cat about.asm > bitmap.asm
	cat block9.asm >> bitmap.asm
	cat block8.asm >> bitmap.asm
	cat block7.asm >> bitmap.asm
	cat block6.asm >> bitmap.asm
	cat block5.asm >> bitmap.asm
	cat block4.asm >> bitmap.asm
	cat block3.asm >> bitmap.asm
	cat block2.asm >> bitmap.asm
	cat block1.asm >> bitmap.asm
	cat restart.asm >> bitmap.asm
	cat back.asm >> bitmap.asm
	cat title.asm >> bitmap.asm
	cat forward.asm >> bitmap.asm
	cat lookup.asm >> bitmap.asm
	cat first.asm >> bitmap.asm
	cat last.asm >> bitmap.asm
	cat memory.asm >> bitmap.asm
	cat recall.asm >> bitmap.asm

install:
	avapp -p2 -r$(appname).app

clean:
	rm -f *.map
	rm -f *.bin
	rm -f *.rel
	rm -f *.opt
	rm -f *.org
	rm -f *.asm
	rm -f *.app
	rm -f *.bak