TOOL = ../../z_tools/
INC = $(TOOL)haribote/

MAKE = $(TOOL)make.exe -r
NASK = $(TOOL)nask.exe
CC1 = $(TOOL)cc1.exe -I$(INC) -Os -Wall -quiet
GAS2NASK = $(TOOL)gas2nask.exe -a
OBJ2BIM = $(TOOL)obj2bim.exe
MAKEFONT = $(TOOL)makefont.exe
BIN2OBJ = $(TOOL)bin2obj.exe
BIM2HRB = $(TOOL)bim2hrb.exe
SJISCONV = $(TOOL)sjisconv.exe -s
RULEFILE = ../haribote.rul

BOOTPACK_OBJS = bootpack.obj naskfunc.obj gdtidt.obj graphic.obj int.obj fifo.obj \
		keyboard.obj mouse.obj memory.obj sheet.obj timer.obj task.obj \
		window.obj console.obj file.obj api.obj except.obj beep.obj \
		tek.obj clock.obj io.obj fdc.obj bmp.obj jpeg.obj

# ftHg
default:
	$(MAKE) ipl.bin
	$(MAKE) tbitos.sys

# t@CK
ipl.bin: ipl.nas Makefile
	$(NASK) ipl.nas ipl.bin ipl.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: $(BOOTPACK_OBJS) Makefile
	$(OBJ2BIM) @$(RULEFILE) out:bootpack.bim stack:3136k map:bootpack.map \
	$(BOOTPACK_OBJS)
# 3m+64k = 3136k

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

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

# ʋK
%.ca: %.c Makefile
	$(SJISCONV) $*.c $*.ca
%.gas: %.ca Makefile
	$(CC1) -o $*.gas $*.ca

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

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

# R}h
clean:
	rename bmp.obj bmp.tmp
	del *.bin
	del *.lst
	del *.gas
	del *.obj
	del *.map
	del *.bim
	del *.hrb
	del *.ca
	del bootpack.nas
	del tbitos.sys
	rename bmp.tmp bmp.obj
