
ASM = asm68360
cc = c68360

DGNLST=..\lst\ 
LST=lst\ 
DGNOLS=..\ols\ 
OLS=ols\ 

#COPTS= -p -pc -ps -pw -os -err+ err
COPTS= -pc -ps -pw -os -err+ err -d -do
AOPTS= -s -g -bl -P -po -ps -err+ err
FILES = files.ols
RMFILES = rmfiles.ols
FORMOPTS1 = $(OLS)main.abs -ec data usep x -f pm -err+ -err -b 0 2 -o main.evn
FORMOPTS2 = $(OLS)main.abs -ec data usep x -f pm -err+ -err -b 1 2 -o main.odd
#FORMOPTS = $(OLS)main.abs -ec data usep x -f pm -err+ -err -o main.all
#FORMOPTS = $(OLS)main.abs -ec data usep x -f pm -err+ -err

DEB_FORMOPTS1 = $(OLS)deb_main.abs -ec data usep -f pm -err+ -err -b 0 2 -o deb_main.evn
DEB_FORMOPTS2 = $(OLS)deb_main.abs -ec data usep -f pm -err+ -err -b 1 2 -o deb_main.odd
#DEB_FORMOPTS = $(OLS)deb_main.abs -ec data usep -f pm -err+ -err

all: deler main.bin deb_main.bin

clean :
	del ols
	del lst
	del *.map
	del *.hex
	del err
	del diag\err

main.bin: $(OLS)rmain.ol $(OLS)smc.ol $(OLS)cutils.ol $(OLS)flwrite.ol \
	$(OLS)downldr.ol $(OLS)lzvx.ol $(OLS)main.ol $(OLS)timer.ol \
	$(OLS)scc1diag.ol $(OLS)scc2diag.ol $(OLS)scc3diag.ol  \
	$(OLS)scc4diag.ol $(OLS)diagsup.ol $(OLS)quote.ol
	llink -i $(FILES) -o $(OLS)main.abs -c loc.cmd -v -err+ -err
	form $(FORMOPTS1)  	 
	form $(FORMOPTS2)  	 
#	form $(FORMOPTS)  	 
	gsmap $(OLS)main.abs -n -o main.map
	hexbin2 main.evn maine.bin m 04000000 ffffffff 0
	hexbin2 main.odd maino.bin m 04000000 ffffffff 0
#	hexbin2 main.hex main.bin m 08000000 ffffffff 0

deb_main.bin: $(OLS)debrmain.ol $(OLS)smc.ol $(OLS)cutils.ol $(OLS)flwrite.ol \
	$(OLS)downldr.ol $(OLS)lzvx.ol $(OLS)main.ol $(OLS)timer.ol \
	$(OLS)scc1diag.ol $(OLS)scc2diag.ol $(OLS)scc3diag.ol  \
	$(OLS)scc4diag.ol $(OLS)diagsup.ol $(OLS)quote.ol
	llink -i $(RMFILES) -o $(OLS)deb_main.abs -c deb_loc.cmd -v -err+ -err
	form $(DEB_FORMOPTS1)  	 
	form $(DEB_FORMOPTS2)  	 
	gsmap $(OLS)deb_main.abs -n -o debmain.map
#the deb_main is located at $0800DF00.
	hexbin2 deb_main.evn debmaine.bin m 04006F80 ffffffff 0
	hexbin2 deb_main.odd debmaino.bin m 04006F80 ffffffff 0

deler:
	del err
	del ols\main.ol

$(OLS)debrmain.ol: debrmain.68k a360boot.inc
	$(ASM) debrmain.68k $(AOPTS) -o $(OLS)debrmain.ol -l $(LST)debrmain.lst

$(OLS)rmain.ol: rmain.68k a360boot.inc
	$(ASM) rmain.68k $(AOPTS) -o $(OLS)rmain.ol -l $(LST)rmain.lst -p

$(OLS)smc.ol: smc.68k ..\include\smc.inc a360boot.inc
	$(ASM) smc.68k $(AOPTS) -o $(OLS)smc.ol -l $(LST)smc.lst

$(OLS)quote.ol: quote.68k ..\include\offset.inc a360boot.inc
	$(ASM) quote.68k $(AOPTS) -o $(OLS)quote.ol -l $(LST)quote.lst

$(OLS)timer.ol: timer.68k a360boot.inc
	$(ASM) timer.68k $(AOPTS) -o $(OLS)timer.ol -l $(LST)timer.lst

$(OLS)cutils.ol: ..\src\cutils.c ..\include\mctypes.h \
	..\include\boot.h ..\include\downldr.h
	$(cc) ..\src\cutils.c $(COPTS) -o $(OLS)cutils.ol -l $(LST)cutils.lst

$(OLS)main.ol: main.c ..\include\boot.h ..\include\mctypes.h \
	..\include\downldr.h ..\include\quote.h ..\include\utils.h
	$(cc) main.c $(COPTS) -o $(OLS)main.ol -l $(LST)main.lst

$(OLS)downldr.ol: ..\src\downldr.c ..\include\boot.h ..\include\downldr.h \
	..\include\mctypes.h ..\include\quote.h ..\include\utils.h
	$(cc) ..\src\downldr.c $(COPTS) -o $(OLS)downldr.ol -l $(LST)downldr.lst

$(OLS)lzvx.ol: ..\src\lzvx.c ..\include\mctypes.h ..\include\downldr.h \
	..\include\boot.h
	$(cc) ..\src\lzvx.c $(COPTS) -D s2s -o $(OLS)lzvx.ol -l $(LST)lzvx.lst -i -pack 1

$(OLS)scc1diag.ol:diag\scc1diag.68k a360boot.inc ..\include\offset.inc		
	cd diag
	del err
	$(ASM) scc1diag.68k $(AOPTS) -o $(DGNOLS)scc1diag.ol -l $(DGNLST)scc1diag.lst
	cd..

$(OLS)scc2diag.ol:diag\scc2diag.68k a360boot.inc ..\include\offset.inc
	cd diag
	$(ASM) scc2diag.68k $(AOPTS) -o $(DGNOLS)scc2diag.ol -l $(DGNLST)scc2diag.lst
	cd..

$(OLS)scc3diag.ol:diag\scc3diag.68k a360boot.inc ..\include\offset.inc
	cd diag
	$(ASM) scc3diag.68k $(AOPTS) -o $(DGNOLS)scc3diag.ol -l $(DGNLST)scc3diag.lst
	cd..

$(OLS)scc4diag.ol:diag\scc4diag.68k a360boot.inc ..\include\offset.inc
	cd diag
	$(ASM) scc4diag.68k $(AOPTS) -o $(DGNOLS)scc4diag.ol -l $(DGNLST)scc4diag.lst
	cd..

$(OLS)diagsup.ol:diag\diagsup.c ..\include\mctypes.h
	cd diag
	$(cc) diagsup.c $(COPTS) -o $(DGNOLS)diagsup.ol -l $(DGNLST)diagsup.lst
	cd..

$(OLS)flwrite.ol: flwrite.68k 
	$(ASM) flwrite.68k $(AOPTS) -o $(OLS)flwrite.ol -l $(LST)flwrite.lst


