# 
# MyPicoDos V4.0 Makefile (c) 2003-2004 by Matthias Reichl <hias@horus.com>
#

ATASM=atasm
#ATASM=/data/src/xl/atasm103/src/atasm

all: MYPDOS.COM MYPDOSR.COM MYPDOSM.COM \
     mypdos.atr mypdoshs.atr mypdosr.atr mypdoshr.atr \
     mypdos-atarisio.bin myinit.atr \
     mypdos-code-hsr.bin mypdos-code-hs.bin mypdos-code-r.bin mypdos-code.bin \
     MYPDHR.COM MYPDHS.COM MYPDR.COM MYPD.COM MYPDIDE.COM \
     MYPDIDE.ROM \
     mycom.atr

#all: MYPDOS.COM mypdos.atr mypdoshs.atr myinit2.atr

#ASMFLAGS=
ASMFLAGS = -s

MYPDOSINC = common.inc getdens.src longname.src \
	rreadcode.src comloadcode.src basloadcode.src \
	rread.bin comload.bin basload.bin

rread.bin: rread.src rreadcode.src common.inc
	$(ATASM) $(ASMFLAGS) -r rread.src

basload.bin: basload.src basloadcode.src common.inc rreadcode.src
	$(ATASM) $(ASMFLAGS) -r basload.src

comload.bin: comload.src comloadcode.src common.inc rreadcode.src
	$(ATASM) $(ASMFLAGS) -r comload.src

highspeed.bin: highspeed.src highspeedcode.src \
	hisiocode.src hisiodet.src hisio.inc \
	common.inc rreadcode.src comloadcode.src
	$(ATASM) $(ASMFLAGS) -r highspeed.src

mypdos.bin: mypdos.src $(MYPDOSINC)
	$(ATASM) $(ASMFLAGS) -r -omypdos.bin mypdos.src

mypdoshs.bin: mypdos.src $(MYPDOSINC) \
	highspeedcode.src hisiodet.src hisiocode.src hisio.inc highspeed.bin
	$(ATASM) $(ASMFLAGS) -r -omypdoshs.bin -dHIGHSPEED=1 mypdos.src

mypdosr.bin: mypdos.src $(MYPDOSINC) remote.src
	$(ATASM) $(ASMFLAGS) -r -omypdosr.bin -dREMOTE=1 mypdos.src

mypdoshsr.bin: mypdos.src $(MYPDOSINC) \
	highspeedcode.src hisiodet.src hisiocode.src hisio.inc highspeed.bin \
	remote.src
	$(ATASM) $(ASMFLAGS) -r -omypdoshsr.bin -dHIGHSPEED=1 -dREMOTE=1 mypdos.src

mypdoshsrm.bin: mypdos.src $(MYPDOSINC) \
	highspeedcode.src hisiodet.src hisiocode.src hisio.inc highspeed.bin \
	remote.src
	$(ATASM) $(ASMFLAGS) -r -omypdoshsrm.bin -dHIGHSPEED=1 -dREMOTE=1 -dMYIDE=1 mypdos.src

mypdos.atr: mypdos.src $(MYPDOSINC)
	$(ATASM) $(ASMFLAGS) -r -omypdos.atr -dMYPDOSATR=1 -dMYPDOSBIN=1 -dDEFDRIVE=2 mypdos.src

mypdoshs.atr: mypdos.src $(MYPDOSINC) \
	highspeedcode.src hisiodet.src hisiocode.src hisio.inc highspeed.bin 
	$(ATASM) $(ASMFLAGS) -r -omypdoshs.atr -dMYPDOSATR=1 -dMYPDOSBIN=1 -dDEFDRIVE=2 -dHIGHSPEED=1 mypdos.src

mypdosr.atr: mypdos.src $(MYPDOSINC) remote.src
	$(ATASM) $(ASMFLAGS) -r -omypdosr.atr -dREMOTE=1 -dMYPDOSATR=1 -dMYPDOSBIN=1 -dDEFDRIVE=2 mypdos.src

mypdoshr.atr: mypdos.src $(MYPDOSINC) \
	highspeedcode.src hisiodet.src hisiocode.src hisio.inc highspeed.bin \
	remote.src
	$(ATASM) $(ASMFLAGS) -r -omypdoshr.atr -dREMOTE=1 -dMYPDOSATR=1 -dMYPDOSBIN=1 -dDEFDRIVE=2 -dHIGHSPEED=1 mypdos.src

mypdoshm.atr: mypdos.src $(MYPDOSINC) \
	highspeedcode.src hisiodet.src hisiocode.src hisio.inc highspeed.bin \
	remote.src
	$(ATASM) $(ASMFLAGS) -r -omypdoshm.atr -dREMOTE=1 -dMYPDOSATR=1 -dMYPDOSBIN=1 -dHIGHSPEED=1 -dMYIDE=1 mypdos.src

mypdos-code-hsr.bin: mypdos.src $(MYPDOSINC) \
	highspeedcode.src hisiodet.src hisiocode.src hisio.inc highspeed.bin \
	remote.src
	$(ATASM) $(ASMFLAGS) -r -omypdos-code-hsr.bin -dMYPDOSROM=1 -dHIGHSPEED=1 -dREMOTE=1 mypdos.src

mypdos-code-myide.bin: mypdos.src $(MYPDOSINC) \
	highspeedcode.src hisiodet.src hisiocode.src hisio.inc highspeed.bin \
	remote.src
	$(ATASM) $(ASMFLAGS) -r -omypdos-code-myide.bin -dMYPDOSROM=1 -dHIGHSPEED=1 -dREMOTE=1 -dMYIDE=1 mypdos.src

mypdos-code-hs.bin: mypdos.src $(MYPDOSINC) \
	highspeedcode.src hisiodet.src hisiocode.src hisio.inc highspeed.bin
	$(ATASM) $(ASMFLAGS) -r -omypdos-code-hs.bin -dMYPDOSROM=1 -dHIGHSPEED=1 mypdos.src

mypdos-code-r.bin: mypdos.src $(MYPDOSINC) \
	remote.src
	$(ATASM) $(ASMFLAGS) -r -omypdos-code-r.bin -dMYPDOSROM=1 -dREMOTE=1 mypdos.src

mypdos-code.bin: mypdos.src $(MYPDOSINC)
	$(ATASM) $(ASMFLAGS) -r -omypdos-code.bin -dMYPDOSROM=1 mypdos.src

mypdos-atarisio.bin: mypdos.src $(MYPDOSINC) \
	highspeedcode.src hisiodet.src hisiocode.src hisio.inc highspeed.bin \
	remote.src
	$(ATASM) $(ASMFLAGS) -r -omypdos-atarisio.bin -dMYPDOSBIN=1 -dHIGHSPEED=1 -dREMOTE=1 mypdos.src

MYPDOS.COM: myinit.src getdens.src longname.src qsort.src cio.inc \
	mypdos.bin mypdoshs.bin
	$(ATASM) $(ASMFLAGS) -oMYPDOS.COM myinit.src

MYPDOSR.COM: myinit.src getdens.src longname.src qsort.src cio.inc \
	mypdosr.bin mypdoshsr.bin
	$(ATASM) $(ASMFLAGS) -oMYPDOSR.COM -dREMOTE=1 myinit.src

MYPDOSM.COM: myinit.src getdens.src longname.src qsort.src cio.inc \
	mypdoshsrm.bin
	$(ATASM) $(ASMFLAGS) -oMYPDOSM.COM -dMYIDE=1 myinit.src

MYPDHR.COM: mypdos-code-hsr.bin mypdos-com.src
	$(ATASM) $(ASMFLAGS) -oMYPDHR.COM -dVERSION=3 mypdos-com.src

MYPDHS.COM: mypdos-code-hs.bin mypdos-com.src
	$(ATASM) $(ASMFLAGS) -oMYPDHS.COM -dVERSION=2 mypdos-com.src

MYPDR.COM: mypdos-code-r.bin mypdos-com.src
	$(ATASM) $(ASMFLAGS) -oMYPDR.COM -dVERSION=1 mypdos-com.src

MYPD.COM: mypdos-code.bin mypdos-com.src
	$(ATASM) $(ASMFLAGS) -oMYPD.COM -dVERSION=0 mypdos-com.src

MYPDIDE.COM: mypdos-code-myide.bin mypdos-com.src
	$(ATASM) $(ASMFLAGS) -oMYPDIDE.COM -dVERSION=4 mypdos-com.src

MYPDIDE.ROM: mypdos-code-myide.bin mypdrom.src
	$(ATASM) $(ASMFLAGS) -r -oMYPDIDE.ROM mypdrom.src

myinit.atr: MYPDOS.COM MYPDOSR.COM MYPDOSM.COM initdisk
	cp -f MYPDOS.COM MYPDOSR.COM MYPDOSM.COM initdisk
	dir2atr -b MyDos453 720 myinit.atr initdisk

mycom.atr: MYPD.COM MYPDR.COM MYPDHS.COM MYPDHSR.COM MYPDIDE.COM MYPDIDE.ROM comdisk
	cp -f MYPD.COM MYPDR.COM MYPDHS.COM MYPDHSR.COM MYPDIDE.COM MYPDIDE.ROM comdisk
	dir2atr -b MyDos453 720 mycom.atr comdisk

myinit3:
	mkdir myinit3

myinit3.atr: MYPDOS.COM myinit3
	cp MYPDOS.COM myinit3/MYDOS.AR0
	unix2atr -m 720 myinit3.atr myinit3

disk:
	mkdir disk

mytest.atr:	MYPDOS.COM mypdos.atr mypdoshs.atr disk
	if test ! -d disk ; then mkdir disk ; fi
	cp MYPDOS.COM disk
	dd if=mypdos.atr of=disk/MYPDOS.BIN bs=1 skip=16
	dd if=mypdoshs.atr of=disk/MYPDOSHS.BIN bs=1 skip=16
	unix2atr 720 mytest.atr disk/

clean:
	rm -f *.65o *.bin *.com *.atr

backup:
	tar zcf bak/mypdos-`date '+%y%m%d-%H%M'`.tgz *.src *.inc \
	Makefile README* LICENSE mkdist
