#

ASM = asm68360
cc = c68360

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

COPTS= -p -pc -ps -pw -os -err+ err
#COPTS= -p -pc -ps -pw -err+ err
AOPTS= -s -g -bl -P -po -ps -err+ err
FORMOPTS = $(OLS)main.abs -ec data usep -f pm -err+ -err 

all: deler main.bin

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

main.bin: $(OLS)rmain.ol $(OLS)smc.ol $(OLS)cutils.ol $(OLS)flwrite.ol \
	$(OLS)downldr.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 \
	$(OLS)flasm.ol $(OLS)scc4.ol
#	llink -b _rompOutSeg -rs idata -i boot.ols -o $(OLS)main.abs -c loc.cmd -err+ err
	llink -i boot.ols -o $(OLS)main.abs -c loc.cmd -err+ err
	form $(FORMOPTS)  	 
	gsmap $(OLS)main.abs -n -o main.map
	del $(OLS)main.abs
	copy main.hex \tmp

deler:
	del err

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

$(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)flasm.ol: flasm.68k
	$(ASM) flasm.68k $(AOPTS) -o $(OLS)flasm.ol -l $(LST)flasm.lst

$(OLS)scc4.ol: scc4.68k
	$(ASM) scc4.68k $(AOPTS) -o $(OLS)scc4.ol -l $(LST)scc4.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 -i

$(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 -i

$(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 -i

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

$(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..
