#
# Make diagnostics programs

.SUFFIXES: .asm .obj .lst .img .cbn .pdf .ctl .dck .tp 


all: mkbcdtape listtape stage10.bin asys_4.bin 1d_1a.bin ksys61_1.bin \
	 asys_1s.bcd asys_2s.bcd asys_3s.bcd  1d_1s.bcd 1d_2s.bcd 1d_3s.bcd

stage10.bin: stage9.bin stage10.job mkbcdtape listtape 
	./mkupd $@ $^
	
stage9.bin: stage8.bin stage9.job mkbcdtape listtape
	./mkupd $@ $^

stage8.bin: stage7.bin stage8.job mkbcdtape listtape srctape5.tp
	./mkjob $@ $^
stage7.bin: stage6.bin stage7.job mkbcdtape listtape srctape4.tp
	./mkjob $@ $^
stage6.bin: stage5.bin stage6.job mkbcdtape listtape srctape4.tp
	./mkjob $@ $^
stage5.bin: stage4.bin stage5.job mkbcdtape listtape srctape1.tp srctape2.tp srctape3.tp srctape6.tp
	./mkibjob $@ $^
stage4.bin: stage3.bin stage4.job mkbcdtape listtape srctape3.tp
	./mkjob $@ $^
stage3.bin: stage2.bin stage3.job mkbcdtape listtape srctape3.tp
	./mkjob $@ $^
stage2a.bin: stage1.bin stage2a.job mkbcdtape listtape srctape1.tp
	./mkjob $@ $^
stage2.bin: stage1.bin stage2.job mkbcdtape listtape srctape1.tp
	./mkjob $@ $^
stage1.bin: stage0.bin stage1.job mkbcdtape listtape srctape1.tp srctape2.tp srctape3.tp srctape6.tp
	./mkibjob $@ $^
stage0.bin: base_sys.bin stage0.job mkbcdtape listtape srctape1.tp
	./mkjob $@ $^

base_sys.bin: base_sys.tp base.job 
	echo "set cpu 7090" > run.ini
	echo "set cpu 32k" >> run.ini
	echo "at mta1 base_sys.tp" >> run.ini
	echo "set mta1 locked" >> run.ini
	echo "! ./mkbcdtape -o sysin.tp base.job" >> run.ini
	echo "at mta2 sysin.tp" >> run.ini
	echo "set mta2 locked" >> run.ini
	echo "at mtb3 sysut2.tp" >> run.ini
	echo "at mta3 -f p7b sysut1.tp" >> run.ini
	echo "at mta4 sysut3.tp" >> run.ini
	echo "at mtb4 sysut4.tp" >> run.ini
	echo "at mta0 sysck2.tp" >> run.ini
	echo "at mtb1 sysou1.tp" >> run.ini
	echo "at mta5 srctape1.tp" >> run.ini
	echo "set mta5 locked" >> run.ini
	echo "at mtb2 syspp1.tp" >> run.ini
	echo "at mtb4 syspp2.tp" >> run.ini
	echo "at lp0 sys.log" >> run.ini
	echo "at cdp0 syspun.crd" >> run.ini
	echo "at cdr0 end.job" >> run.ini
	echo "dep sw1 0" >> run.ini
	echo "bo mta1" >> run.ini
	echo "continue" >> run.ini
	echo "! ./listtape sysou1.tp > base.lst" >> run.ini
	echo "! mv sysut1.tp base_sys.bin" >> run.ini
	echo "quit" >> run.ini
	i7090 run.ini

asys_5.bin: asys_4.bin asys_5.job mkbcdtape listtape srctape1.tp srctape2.tp srctape3.tp srctape6.tp
	./mkbibjob $@ $^
#asys_4.bin: asys_3.bin asys_4.job mkbcdtape listtape srctape3.tp
#	./mkbjob $@ $^
#	./dis -s $@ >$@.lst
asys_4.bin: asys_3.bin asys_3.job mkbcdtape listtape
	./mkupd $@ $^
	./dis -s $@ >$@.lst
asys_3.bin: asys_2.bin asys_4.job mkbcdtape listtape srctape3.tp
	./mkbjob $@ $^
	./dis -s $@ >$@.lst
#asys_3.bin: asys_2.bin asys_3.job mkbcdtape listtape
#	./mkupd $@ $^
#	./dis -s $@ >$@.lst
asys_2.bin: asys_1a.bin asys_2.job mkbcdtape listtape srctape3.tp
	./mkbjob $@ $^
	./dis -s $@ >$@.lst
asys_1a.bin: asys_1.bin asys_1a.job mkbcdtape listtape 
	./mkupd $@ $^
	./dis -s $@ >$@.lst
asys_1.bin: stage10.bin asys_1.job mkbcdtape listtape srctape1.tp srctape2.tp srctape3.tp srctape6a.tp
	./mkibjob $@ $^
	./dis -s $@ >$@.lst
asys_1s.bcd: stage10.bin asys_1s.job mkbcdtape listtape srctape1.tp
	./mksrc $@ $^
asys_2s.bcd: stage10.bin asys_2s.job mkbcdtape listtape srctape2.tp
	./mksrc $@ $^
asys_3s.bcd: stage10.bin asys_3s.job mkbcdtape listtape srctape3.tp
	./mksrc $@ $^
asys_6s.bcd: stage10.bin asys_6s.job mkbcdtape listtape srctape6a.tp
	./mksrc $@ $^
asys_0.bin: stage10.bin asys_0.job mkbcdtape listtape srctape1.tp
	./mkbjob $@ $^

ksys61_1.bin: stage10.bin ksys61_1.job mkbcdtape listtape srctape1.tp srctape2.tp srctape3.tp srctape6.tp
	./mkibjob $@ $^
	./dis -s $@ >$@.lst
1d_1a.bin: 1d_1.bin 1d_1a.job mkbcdtape listtape 
	./mkupd $@ $^
	./dis -s $@ >$@.lst
1d_1.bin: 1d_0.bin 1d_1.job mkbcdtape listtape srctape1.tp srctape2.tp srctape3.tp srctape6.tp
	./mkibjob $@ $^
1d_0.bin: stage10.bin 1d_0.job mkbcdtape listtape srctape1.tp
	./mkbjob $@ $^
1d_1s.bcd: stage10.bin 1d_1s.job mkbcdtape listtape srctape1.tp
	./mksrc $@ $^
1d_2s.bcd: stage10.bin 1d_2s.job mkbcdtape listtape srctape2.tp
	./mksrc $@ $^
1d_3s.bcd: stage10.bin 1d_3s.job mkbcdtape listtape srctape3.tp
	./mksrc $@ $^
1d_6s.bcd: stage10.bin 1d_6s.job mkbcdtape listtape srctape6a.tp
	./mksrc $@ $^

ibfort.tp: iblib.tp ibfort.job mkbcdtape listtape srctape3.tp
	./mkbcdtape -o sysin.tp ibfort.job
	rm -f sysut1.tp sysut2.tp sysut3.tp sysut4.tp syspp1.tp
	rm -f syspp2.tp sysck1.tp sysck2.tp sysou1.tp
	echo "set cpu 7090" > run.ini
	echo "set cpu 32k" >> run.ini
	echo "at mta1 iblib.tp" >> run.ini
	echo "set mta1 locked" >> run.ini
	echo "at mta1 sysin.tp" >> run.ini
	echo "set mta1 locked" >> run.ini
	echo "at mtb1 sysou1.tp" >> run.ini
	echo "at mtb2 syspp1.tp" >> run.ini
	echo "at mtb4 syspp2.tp" >> run.ini
	echo "at mta3 sysut1.tp" >> run.ini
	echo "at mtb3 sysut2.tp" >> run.ini
	echo "at mta4 sysut3.tp" >> run.ini
	echo "at mtb4 sysut4.tp" >> run.ini
	echo "at mtb5 sysck2.tp" >> run.ini
	echo "at mta5 srctape3.tp" >> run.ini
	echo "set mta5 locked" >> run.ini
	echo "at mtb2 syspp1.tp" >> run.ini
	echo "at mtb4 syspp2.tp" >> run.ini
	echo "at lp0 sys.log" >> run.ini
	echo "at cdp0 syspun.crd" >> run.ini
	echo "at cdr0 end.job" >> run.ini
	echo "dep sw1 0" >> run.ini
	echo "bo mta1" >> run.ini
	echo "continue" >> run.ini
	echo "det mta5" >> run.ini
	echo "set mta5 write" >> run.ini
	echo "at mta5 sysck2.tp" >> run.ini
	echo "continue" >> run.ini
	echo "quit" >> run.ini
	i7090 run.ini
	 ./listtape sysou1.tp > ibfort.lst
	mv sysut1.tp ibfort.tp

iblib.tp: ibjob.tp iblib.job mkbcdtape listtape srctape1.tp
	./mkbcdtape -o sysin.tp iblib.job
	rm -f sysut1.tp sysut2.tp sysut3.tp sysut4.tp syspp1.tp
	rm -f syspp2.tp sysck1.tp sysck2.tp sysou1.tp
	echo "set cpu 7090" > run.ini
	echo "set cpu 32k" >> run.ini
	echo "at mta1 ibjob.tp" >> run.ini
	echo "set mta1 locked" >> run.ini
	echo "at mta2 sysin.tp" >> run.ini
	echo "set mta2 locked" >> run.ini
	echo "at mta5 srctape1.tp" >> run.ini
	echo "set mta5 locked" >> run.ini
	echo "at mtb1 sysou1.tp" >> run.ini
	echo "at mtb2 syspp1.tp" >> run.ini
	echo "at mtb4 syspp2.tp" >> run.ini
	echo "at mta3 sysut1.tp" >> run.ini
	echo "at mtb3 sysut2.tp" >> run.ini
	echo "at mta4 sysut3.tp" >> run.ini
	echo "at mtb4 sysut4.tp" >> run.ini
	echo "at mtb5 sysck2.tp" >> run.ini
	echo "at lp0 sys.log" >> run.ini
	echo "at cdp0 syspun.crd" >> run.ini
	echo "at cdr0 end.job" >> run.ini
	echo "dep sw1 0" >> run.ini
	echo "bo mta1" >> run.ini
	echo "continue" >> run.ini
	echo "set mta5 write" >> run.ini
	echo "at mta5 sysck1.tp" >> run.ini
	echo "continue" >> run.ini
	echo "quit" >> run.ini
	i7090 run.ini
	./listtape sysou1.tp > iblib.lst
	mv sysut1.tp iblib.tp

ibjob.tp: ibsys.tp ibjob.job mkbcdtape listtape srctape1.tp srctape2.tp srctape3.tp srctape6.tp
	./mkbcdtape -o sysin.tp ibjob.job
	rm -f sysut1.tp sysut2.tp sysut3.tp sysut4.tp syspp1.tp
	rm -f syspp2.tp sysck1.tp sysck2.tp sysou1.tp
	echo "set cpu 7090" > run.ini
	echo "set cpu 32k" >> run.ini
	echo "at mta1 ibsys.tp" >> run.ini
	echo "set mta1 locked" >> run.ini
	echo "at mtb1 sysou1.tp" >> run.ini
	echo "at mta2 sysin.tp" >> run.ini
	echo "at mtb2 syspp1.tp" >> run.ini
	echo "at mta5 sysck2.tp" >> run.ini
	echo "set mta2 locked" >> run.ini
	echo "set mta3 locked" >> run.ini
	echo "set mtb3 locked" >> run.ini
	echo "set mtb4 locked" >> run.ini
	echo "set mta4 locked" >> run.ini
	echo "at mta3 srctape1.tp" >> run.ini
	echo "at mtb3 srctape2.tp" >> run.ini
	echo "at mtb4 srctape3.tp" >> run.ini
	echo "at mta4 srctape6.tp" >> run.ini
	echo "at lp0 sys.log" >> run.ini
	echo "at cdp0 syspun.crd" >> run.ini
	echo "at cdr0 end.job" >> run.ini
	echo "dep sw1 0" >> run.ini
	echo "bo mta1" >> run.ini
	echo "continue" >> run.ini
	echo "set mta2 write" >> run.ini
	echo "set mta3 write" >> run.ini
	echo "set mtb3 write" >> run.ini
	echo "set mtb4 write" >> run.ini
	echo "set mta4 write" >> run.ini
	echo "at mta3 sysut1.tp" >> run.ini
	echo "at mtb3 sysut2.tp" >> run.ini
	echo "at mtb4 syspp2.tp" >> run.ini
	echo "at mta4 sysut4.tp" >> run.ini
	echo "continue" >> run.ini
	echo "quit" >> run.ini
	i7090 run.ini
	./listtape sysou1.tp > ibjob.lst
	mv sysut1.tp ibjob.tp

ibsys.tp: base_sys.tp ibsys.job mkbcdtape listtape srctape1.tp
	./mkbcdtape -o sysin.tp ibsys.job
	rm -f sysut1.tp sysut2.tp sysut3.tp sysut4.tp syspp1.tp
	rm -f syspp2.tp sysck1.tp sysck2.tp sysou1.tp
	echo "set cpu 7090" > run.ini
	echo "set cpu 32k" >> run.ini
	echo "at mta1 base_sys.tp" >> run.ini
	echo "set mta1 locked" >> run.ini
	echo "at mta2 sysin.tp" >> run.ini
	echo "set mta2 locked" >> run.ini
	echo "at mta5 srctape1.tp" >> run.ini
	echo "set mta5 locked" >> run.ini
	echo "at mtb1 sysou1.tp" >> run.ini
	echo "at mtb2 syspp1.tp" >> run.ini
	echo "at mtb4 syspp2.tp" >> run.ini
	echo "at mta3 sysut1.tp" >> run.ini
	echo "at mtb3 sysut2.tp" >> run.ini
	echo "at mta4 sysut3.tp" >> run.ini
	echo "at mtb4 sysut4.tp" >> run.ini
	echo "at lp0 sys.log" >> run.ini
	echo "at cdp0 syspun.crd" >> run.ini
	echo "at cdr0 end.job" >> run.ini
	echo "dep sw1 0" >> run.ini
	echo "bo mta1" >> run.ini
	echo "continue" >> run.ini
	echo "set mta5 write" >> run.ini
	echo "at mta5 sysut3.tp" >> run.ini
	echo "continue" >> run.ini
	echo "quit" >> run.ini
	i7090 run.ini
	./listtape sysou1.tp > ibsys.lst
	mv sysut1.tp ibsys.tp

#stage0.tp: base_sys.tp stage0.job mkbcdtape listtape srctape1.tp
#	echo "set cpu 7090" > run.ini
#	echo "set cpu 32k" >> run.ini
#	echo "at mta1 base_sys.tp" >> run.ini
#	echo "set mta1 locked" >> run.ini
#	echo "! ./mkbcdtape -o sysin.tp stage0.job" >> run.ini
#	echo "at mta2 sysin.tp" >> run.ini
#	echo "set mta2 locked" >> run.ini
#	echo "at mtb3 sysut2.tp" >> run.ini
#	echo "at mta3 sysut1.tp" >> run.ini
#	echo "at mta4 sysut3.tp" >> run.ini
#	echo "at mtb4 sysut4.tp" >> run.ini
#	echo "at mta0 sysck2.tp" >> run.ini
#	echo "at mtb1 sysou1.tp" >> run.ini
#	echo "at mta5 srctape1.tp" >> run.ini
#	echo "set mta5 locked" >> run.ini
#	echo "at mtb2 syspp1.tp" >> run.ini
#	echo "at mtb4 syspp2.tp" >> run.ini
#	echo "at lp0 sys.log" >> run.ini
#	echo "at cdp0 syspun.crd" >> run.ini
#	echo "at cdr0 end.job" >> run.ini
#	echo "dep sw1 0" >> run.ini
#	echo "bo mta1" >> run.ini
#	echo "continue" >> run.ini
#	echo "det mta5" >> run.ini
#	echo "at mta5 sysck2.tp" >> run.ini
#	echo "continue" >> run.ini
#	echo "! ./listtape sysou1.tp > stage0.lst" >> run.ini
#	echo "! mv sysut1.tp stage0.tp" >> run.ini
#	echo "quit" >> run.ini
#	i7090 run.ini


mkbcdtape: mkbcdtape.c
	cc -o $@ $^

listtape: listtape.c
	cc -o $@ $^


clean:
	rm *.lst listtape mkbcdtape
