OBJS_BOOTPACK = bootpack.obj naskfunc.obj hankaku.obj graphic.obj dsctbl.obj \
		int.obj fifo.obj keyboard.obj mouse.obj memory.obj sheet.obj timer.obj \
		mtask.obj console.obj window.obj file.obj

TOOLPATH = ../z_tools/
INCPATH  = ../z_tools/haribote/

MAKE     = $(TOOLPATH)make.exe -r
NASK     = $(TOOLPATH)nask.exe
CC1      = $(TOOLPATH)cc1.exe -I$(INCPATH) -Os -Wall -quiet
GAS2NASK = $(TOOLPATH)gas2nask.exe -a
OBJ2BIM  = $(TOOLPATH)obj2bim.exe
MAKEFONT = $(TOOLPATH)makefont.exe
BIN2OBJ  = $(TOOLPATH)bin2obj.exe
BIM2HRB  = $(TOOLPATH)bim2hrb.exe
RULEFILE = $(TOOLPATH)haribote/haribote.rul
EDIMG    = $(TOOLPATH)edimg.exe
IMGTOL   = $(TOOLPATH)imgtol.com
COPY     = copy
MOVE     = move
DEL      = del

# ftHg

default :
	$(MAKE) img

# t@CK

ipl10.bin : ipl10.nas Makefile
	$(NASK) ipl10.nas ipl10.bin ipl10.lst

asmhead.bin : asmhead.nas Makefile
	$(NASK) asmhead.nas asmhead.bin asmhead.lst

hankaku.bin : hankaku.txt Makefile
	$(MAKEFONT) hankaku.txt hankaku.bin

hankaku.obj : hankaku.bin Makefile
	$(BIN2OBJ) hankaku.bin hankaku.obj _hankaku

bootpack.bim : $(OBJS_BOOTPACK) Makefile
	$(OBJ2BIM) @$(RULEFILE) out:bootpack.bim stack:3136k map:bootpack.map \
		$(OBJS_BOOTPACK)
# 3MB+64KB=3136KB

bootpack.hrb : bootpack.bim Makefile
	$(BIM2HRB) bootpack.bim bootpack.hrb 0

osakkie.sys : asmhead.bin bootpack.hrb Makefile
	copy /B asmhead.bin+bootpack.hrb osakkie.sys

a.bim : a.obj a_nask.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:a.bim map:a.map a.obj a_nask.obj

a.hrb : a.bim Makefile
	$(BIM2HRB) a.bim a.hrb 0

hello3.bim : hello3.obj a_nask.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:hello3.bim map:hello3.map hello3.obj a_nask.obj

hello3.hrb : hello3.bim Makefile
	$(BIM2HRB) hello3.bim hello3.hrb 0

hello4.bim : hello4.obj a_nask.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:hello4.bim stack:1k map:hello4.map hello4.obj a_nask.obj

hello4.hrb : hello4.bim Makefile
	$(BIM2HRB) hello4.bim hello4.hrb 0

hello5.bim : hello5.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:hello5.bim stack:1k map:hello5.map hello5.obj

hello5.hrb : hello5.bim Makefile
	$(BIM2HRB) hello5.bim hello5.hrb 0

winhello.bim : winhello.obj a_nask.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:winhello.bim stack:1k map:winhello.map winhello.obj a_nask.obj

winhello.hrb : winhello.bim Makefile
	$(BIM2HRB) winhello.bim winhello.hrb 40k

mt_orz.bim : mt_orz.obj a_nask.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:mt_orz.bim stack:1k map:mt_orz.map mt_orz.obj a_nask.obj

mt_orz.hrb : mt_orz.bim Makefile
	$(BIM2HRB) mt_orz.bim mt_orz.hrb 60k

star.bim : star.obj a_nask.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:star.bim stack:1k map:star.map star.obj a_nask.obj

star.hrb : star.bim Makefile
	$(BIM2HRB) star.bim star.hrb 50k

bonno.bim : bonno.obj a_nask.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:bonno.bim stack:1k map:bonno.map bonno.obj a_nask.obj

bonno.hrb : bonno.bim Makefile
	$(BIM2HRB) bonno.bim bonno.hrb 75k

keyview.bim : keyview.obj a_nask.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:keyview.bim stack:1k map:keyview.map keyview.obj a_nask.obj

keyview.hrb : keyview.bim Makefile
	$(BIM2HRB) keyview.bim keyview.hrb 40k

lines.bim : lines.obj a_nask.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:lines.bim stack:1k map:lines.map lines.obj a_nask.obj

lines.hrb : lines.bim Makefile
	$(BIM2HRB) lines.bim lines.hrb 50k

walk.bim : walk.obj a_nask.obj Makefile
	$(OBJ2BIM) @$(RULEFILE) out:walk.bim stack:1k map:walk.map \
		walk.obj a_nask.obj

walk.hrb : walk.bim Makefile
	$(BIM2HRB) walk.bim walk.hrb 48k


osakkie.img : ipl10.bin osakkie.sys Makefile \
				a.hrb hello3.hrb hello4.hrb hello5.hrb \
				winhello.hrb mt_orz.hrb star.hrb bonno.hrb keyview.hrb lines.hrb walk.hrb
	$(EDIMG)   imgin:../z_tools/fdimg0at.tek \
		wbinimg src:ipl10.bin len:512 from:0 to:0 \
		copy from:osakkie.sys to:@: \
		copy from:a.hrb to:@: \
		copy from:hello3.hrb to:@: \
		copy from:hello4.hrb to:@: \
		copy from:hello5.hrb to:@: \
		copy from:winhello.hrb to:@: \
		copy from:mt_orz.hrb to:@: \
		copy from:star.hrb to:@: \
		copy from:bonno.hrb to:@: \
		copy from:keyview.hrb to:@: \
		copy from:lines.hrb to:@: \
		copy from:walk.hrb to:@: \
		imgout:osakkie.img

# ʋK

%.gas : %.c bootpack.h Makefile
	$(CC1) -o $*.gas $*.c

%.nas : %.gas Makefile
	$(GAS2NASK) $*.gas $*.nas

%.obj : %.nas Makefile
	$(NASK) $*.nas $*.obj $*.lst

# R}h

img :
	$(MAKE) osakkie.img

run :
	$(MAKE) img
	$(COPY) osakkie.img ..\z_tools\qemu\fdimage0.bin
	$(MAKE) -C ../z_tools/qemu

install :
	$(MAKE) img
	$(IMGTOL) w a: osakkie.img

clean :
	-$(DEL) *.bin
	-$(DEL) *.lst
	-$(DEL) *.obj
	-$(DEL) *.map
	-$(DEL) *.bim
	-$(DEL) *.hrb
	-$(DEL) osakkie.sys

src_only :
	$(MAKE) clean
	-$(DEL) osakkie.img
