
.;======================================================================
;
;	MULPLT.CMD - Build MULPLT
;
.;	T V ATKINSON
.;	DEPARTMENT OF CHEMISTRY
.;	MICHIGAN STATE UNIVERSITY
.;	EAST LANSING, MI 48824
.;
.;	DATE:  03-NOV-82
.;
.;======================================================================
	.ENABLE SUBSTITUTION
.;
.;	Default definitions
.;
	.SETS MODULE ""
	.SETT CMPALL
	.SETT OLBBLD
	.SETT ODLBLD
	.SETT TKBBLD
	.SETT TKBMUL
	.SETF FPPMUL
	.SETF FORMOD
	.SETS SX "SR:"
	.SETS FX "FT:"
	.SETS OX "OB:"
	.SETS LX "NL:"
	.SETS FPPS ""
.;
.;	Begin set up
.;
	.ASK MULBLD Do complete build of MULPLT
.;
.;	Set up devices
.;
	.ASK SETDEV Define logical devices
	.IFF SETDEV .GOTO 5
	.ASKS SX Device that contains sources [D SR:]
	.IF <STRLEN> = 0 .SETS SX "SR:"
.;
	.ASKS FX Device that will contain intermediate files [D FT:]
	.IF <STRLEN> = 0 .SETS FX "FT:"
.;
	.ASKS OX Device to receive objects, task, map, and library [D OB:]
	.IF <STRLEN> = 0 .SETS OX "OB:"
.;
	.ASKS LX Listing device [D NL:]
	.IF <STRLEN> = 0 .SETS LX "NL:"
.;
.;	Choose compilation options
.;
.5:	.IFT MULBLD .GOTO 20
	.ASK CMPALL Compile all modules
	.IFT CMPALL .GOTO 20
	.ASKS MODULE FORTRAN module to be compiled
	.SETT FORMOD
	.IF <STRLEN> = 0 .SETF FORMOD
	.GOTO 20
.19:
;
;	!!! Illegal compiler choice  !!!
;
.20:	.IFF CMPALL .IFF FORMOD .GOTO 16
	.ASKS $CNUM Compile using F4P, F77, or FOR
	.SETF COMF4P
	.SETF COMF77
	.SETF COMFOR
	.IF $CNUM EQ "F4P" .SETT COMF4P 
	.IF $CNUM EQ "F77" .SETT COMF77
	.IF $CNUM EQ "FOR" .SETT COMFOR
	.IFF COMFOR .IFF COMF4P .IFF COMF77 .GOTO 19
	.ASK $SEQN Compile with sequence numbers
	.SETS STRING ""
	.IFF $SEQN .AND .IFT COMFOR .SETS STRING "/NOSN"
	.IFF $SEQN .AND .IFT COMF4P .SETS STRING "/NOTR"
	.IFF $SEQN .AND .IFT COMF77 .SETS STRING "/NOTR"
	.SETS CONS "/CO:25."
	.IFT COMFOR .SETS CONS ""
.;
.;	Choose task build options
.;
.16:	.IFT MULBLD .GOTO 17
	.ASK OLBBLD Build MULPLT.OLB
	.ASK ODLBLD Build MULPLT.ODL
	.ASK TKBBLD Build MULPLTTKB.CMD
.17:	.IFF TKBBLD .GOTO 18
	.SETF F4PRES
	.SETF FCSMUL
	.ASK F4PRES Build MULPLT with F4PRES
	.IFF F4PRES .ASK FCSMUL Build MULPLT with FCSRES
	.ASK FPPMUL Build for FPP
	.IFT FPPMUL .SETS FPPS "/FP"
.18:	.IFF MULBLD .ASK TKBMUL Task build MULPLT
.990:	.ASK MCRLST List MCR lines
;
;	End of setup
;
	.SETS BEGTIM <DATE>+"  "+<TIME>
;	MULPLT building began:        'BEGTIM'
	.IFF MCRLST .ENABLE QUIET
	.IFF CMPALL .IFF FORMOD .GOTO 1405
.;
.; 	Build MULPLTCMP.CMD
.;
	.OPEN 'FX'MULPLTCMP.CMD
.1000:	.IF MODULE NE "MPROOT" .IFF CMPALL .GOTO 1010
	PIP 'FX'MPROOT.FTN;*/DE/NM,'OX'MPROOT.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPROOT.LST;*/DE/NM
	PIP 'FX'MPROOT.FTN='SX'MPROOT.TLE,MULPLT.COM,DEVICE
	PIP 'FX'MPROOT.FTN='FX'MPROOT.FTN,'SX'VECTOR.COM,MPROOT.PGM
	.DATA 'OX'MPROOT'STRING','LX'MPROOT/-SP='FX'MPROOT.FTN'CONS'
.1010:	.IF MODULE NE "MPBLKD" .IFF CMPALL .GOTO 1020
	PIP 'FX'MPBLKD.FTN;*/DE/NM,'OX'MPBLKD.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPBLKD.LST;*/DE/NM
	PIP 'FX'MPBLKD.FTN='SX'MPBLKD.TLE,MULPLT.COM,DEVICE
	PIP 'FX'MPBLKD.FTN='FX'MPBLKD.FTN,'SX'VECTOR.COM,MPBLKD.PGM
	.DATA 'OX'MPBLKD'STRING','LX'MPBLKD/-SP='FX'MPBLKD.FTN'CONS'
.1020:	.IF MODULE NE "MPREAD" .IFF CMPALL .GOTO 1030
	PIP 'FX'MPREAD.FTN;*/DE/NM,'OX'MPREAD.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPREAD.LST;*/DE/NM
	PIP 'FX'MPREAD.FTN='SX'MPREAD.TLE,MULPLT.COM,DEVICE
	PIP 'FX'MPREAD.FTN='FX'MPREAD.FTN,'SX'VECTOR.COM,MPREAD.PGM
	.DATA 'OX'MPREAD'STRING','LX'MPREAD/-SP='FX'MPREAD.FTN'CONS'
.1030:	.IF MODULE NE "MPDUMP" .IFF CMPALL .GOTO 1040
	PIP 'FX'MPDUMP.FTN;*/DE/NM,'OX'MPDUMP.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPDUMP.LST;*/DE/NM
	PIP 'FX'MPDUMP.FTN='SX'MPDUMP.TLE,MULPLT.COM,DEVICE,MPDUMP.PGM
	.DATA 'OX'MPDUMP'STRING','LX'MPDUMP/-SP='FX'MPDUMP.FTN'CONS'
.1040:	.IF MODULE NE "MPSCAN" .IFF CMPALL .GOTO 1050
	PIP 'FX'MPSCAN.FTN;*/DE/NM,'OX'MPSCAN.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPSCAN.LST;*/DE/NM
	PIP 'FX'MPSCAN.FTN='SX'MPSCAN.TLE,MULPLT.COM,MPFILE,DEVICE
	PIP 'FX'MPSCAN.FTN='FX'MPSCAN.FTN,'SX'RDATA.COM,MPSCAN.PGM
	.DATA 'OX'MPSCAN'STRING','LX'MPSCAN/-SP='FX'MPSCAN.FTN'CONS'
.1050:	.IF MODULE NE "MPINIT" .IFF CMPALL .GOTO 1060
	PIP 'FX'MPINIT.FTN;*/DE/NM,'OX'MPINIT.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPINIT.LST;*/DE/NM
	PIP 'FX'MPINIT.FTN='SX'MPINIT.TLE,MULPLT.COM,DEVICE
	PIP 'FX'MPINIT.FTN='FX'MPINIT.FTN,'SX'VECTOR.COM,MPINIT.PGM
	.DATA 'OX'MPINIT'STRING','LX'MPINIT/-SP='FX'MPINIT.FTN'CONS'
.1060:	.IF MODULE NE "MPPLOT" .IFF CMPALL .GOTO 1070
	PIP 'FX'MPPLOT.FTN;*/DE/NM,'OX'MPPLOT.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPPLOT.LST;*/DE/NM
	PIP 'FX'MPPLOT.FTN='SX'MPPLOT.TLE,MULPLT.COM,MPFILE,VECTOR
	PIP 'FX'MPPLOT.FTN='FX'MPPLOT.FTN,'SX'DEVICE.COM,RDATA,MPPLOT.PGM
	.DATA 'OX'MPPLOT'STRING','LX'MPPLOT/-SP='FX'MPPLOT.FTN'CONS'
.1070:	.IF MODULE NE "MPFILE" .IFF CMPALL .GOTO 1080
	PIP 'FX'MPFILE.FTN;*/DE/NM,'OX'MPFILE.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPFILE.LST;*/DE/NM
	PIP 'FX'MPFILE.FTN='SX'MPFILE.TLE,MULPLT.COM,MPFILE,DEVICE
	PIP 'FX'MPFILE.FTN='FX'MPFILE.FTN,'SX'RDATA.COM,VECTOR,MPFILE.PGM
	.DATA 'OX'MPFILE'STRING','LX'MPFILE/-SP='FX'MPFILE.FTN'CONS'
.1080:	.IF MODULE NE "MPLOAD" .IFF CMPALL .GOTO 1090
	PIP 'FX'MPLOAD.FTN;*/DE/NM,'OX'MPLOAD.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPLOAD.LST;*/DE/NM
	PIP 'FX'MPLOAD.FTN='SX'MPLOAD.TLE,MPFILE.COM,DEVICE,RDATA,MPLOAD.PGM
	.DATA 'OX'MPLOAD'STRING','LX'MPLOAD/-SP='FX'MPLOAD.FTN'CONS'
.1090:	.IF MODULE NE "MPPLTD" .IFF CMPALL .GOTO 1095
	PIP 'FX'MPPLTD.FTN;*/DE/NM,'OX'MPPLTD.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPPLTD.LST;*/DE/NM
	PIP 'FX'MPPLTD.FTN='SX'MPPLTD.TLE,MPFILE.COM,VECTOR,DEVICE
	PIP 'FX'MPPLTD.FTN='FX'MPPLTD.FTN,'SX'RDATA.COM,MPPLTD.PGM
	.DATA 'OX'MPPLTD'STRING','LX'MPPLTD/-SP='FX'MPPLTD.FTN'CONS'
.1095:	.IF MODULE NE "MPSHAD" .IFF CMPALL .GOTO 1100
	PIP 'FX'MPSHAD.FTN;*/DE/NM,'OX'MPSHAD.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPSHAD.LST;*/DE/NM
	PIP 'FX'MPSHAD.FTN='SX'MPSHAD.TLE,VECTOR.COM,MPSHAD.PGM
	.DATA 'OX'MPSHAD'STRING','LX'MPSHAD/-SP='FX'MPSHAD.FTN'CONS'
.1100:	.IF MODULE NE "MPSPFT" .IFF CMPALL .GOTO 1110
	PIP 'FX'MPSPFT.FTN;*/DE/NM,'OX'MPSPFT.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPSPFT.LST;*/DE/NM
	PIP 'FX'MPSPFT.FTN='SX'MPSPFT.TLE,MULPLT.COM,VECTOR,MPFILE,MPSPFT
	PIP 'FX'MPSPFT.FTN/ME='FX'MPSPFT.FTN,'SX'DEVICE.COM,PARSDF,MPSPFT.PGM
	.DATA 'OX'MPSPFT'STRING','LX'MPSPFT/-SP='FX'MPSPFT.FTN'CONS'
.1110:	.IF MODULE NE "MPSPDF" .IFF CMPALL .GOTO 1120
	PIP 'FX'MPSPDF.FTN;*/DE/NM,'OX'MPSPDF.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPSPDF.LST;*/DE/NM
	PIP 'FX'MPSPDF.FTN='SX'MPSPDF.TLE,MPSPFT.COM,PARSDF,MPSPDF.PGM
	.DATA 'OX'MPSPDF'STRING','LX'MPSPDF/-SP='FX'MPSPDF.FTN'CONS'
.1120:	.IF MODULE NE "MPSPIN" .IFF CMPALL .GOTO 1130
	PIP 'FX'MPSPIN.FTN;*/DE/NM,'OX'MPSPIN.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPSPIN.LST;*/DE/NM
	PIP 'FX'MPSPIN.FTN='SX'MPSPIN.TLE,DEVICE.COM,MPSPFT,MPSPIN.PGM
	.DATA 'OX'MPSPIN'STRING','LX'MPSPIN/-SP='FX'MPSPIN.FTN'CONS'
.1130:	.IF MODULE NE "MPSPAS" .IFF CMPALL .GOTO 1140
	PIP 'FX'MPSPAS.FTN;*/DE/NM,'OX'MPSPAS.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPSPAS.LST;*/DE/NM
	PIP 'FX'MPSPAS.FTN='SX'MPSPAS.TLE,MPSPFT.COM,DEVICE,MPSPAS.PGM
	.DATA 'OX'MPSPAS'STRING','LX'MPSPAS/-SP='FX'MPSPAS.FTN'CONS'
.1140:	.IF MODULE NE "MPAPNT" .IFF CMPALL .GOTO 1150
	PIP 'FX'MPAPNT.FTN;*/DE/NM,'OX'MPAPNT.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPAPNT.LST;*/DE/NM
	PIP 'FX'MPAPNT.FTN='SX'MPAPNT.TLE,MPSPFT.COM,VECTOR,MPFILE
	PIP 'FX'MPAPNT.FTN='FX'MPAPNT.FTN,'SX'PARSDF.COM,DEVICE,MPAPNT.PGM
	.DATA 'OX'MPAPNT'STRING','LX'MPAPNT/-SP='FX'MPAPNT.FTN'CONS'
.1150:	.IF MODULE NE "MPSPLD" .IFF CMPALL .GOTO 1160
	PIP 'FX'MPSPLD.FTN;*/DE/NM,'OX'MPSPLD.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPSPLD.LST;*/DE/NM
	PIP 'FX'MPSPLD.FTN='SX'MPSPLD.TLE,MPSPFT.COM,VECTOR,PARSDF,MPSPLD.PGM
	.DATA 'OX'MPSPLD'STRING','LX'MPSPLD/-SP='FX'MPSPLD.FTN'CONS'
.1160:	.IF MODULE NE "MPSYBX" .IFF CMPALL .GOTO 1170
	PIP 'FX'MPSYBX.FTN;*/DE/NM,'OX'MPSYBX.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPSYBX.LST;*/DE/NM
	PIP 'FX'MPSYBX.FTN='SX'MPSYBX.TLE,MPSPFT.COM,VECTOR,MPSYBX.PGM
	.DATA 'OX'MPSYBX'STRING','LX'MPSYBX/-SP='FX'MPSYBX.FTN'CONS'
.1170:	.IF MODULE NE "SARROW" .IFF CMPALL .GOTO 1180
	PIP 'FX'SARROW.FTN;*/DE/NM,'OX'SARROW.OBJ;*
	.IF LX NE "NL:" PIP 'LX'SARROW.LST;*/DE/NM
	PIP 'FX'SARROW.FTN='SX'SARROW.TLE,MPSPFT.COM,VECTOR,SARROW.PGM
	.DATA 'OX'SARROW'STRING','LX'SARROW/-SP='FX'SARROW.FTN'CONS'
.1180:	.IF MODULE NE "ARROW" .IFF CMPALL .GOTO 1190
	PIP 'FX'ARROW.FTN;*/DE/NM,'OX'ARROW.OBJ;*
	.IF LX NE "NL:" PIP 'LX'ARROW.LST;*/DE/NM
	PIP 'FX'ARROW.FTN='SX'ARROW.TLE,MPSPFT.COM,VECTOR,ARROW.PGM
	.DATA 'OX'ARROW'STRING','LX'ARROW/-SP='FX'ARROW.FTN'CONS'
.1190:	.IF MODULE NE "MPASGD" .IFF CMPALL .GOTO 1200
	PIP 'FX'MPASGD.FTN;*/DE/NM,'OX'MPASGD.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPASGD.LST;*/DE/NM
	PIP 'FX'MPASGD.FTN='SX'MPASGD.TLE,MULPLT.COM,VECTOR,DEVICE,MPASGD.PGM
	.DATA 'OX'MPASGD'STRING','LX'MPASGD/-SP='FX'MPASGD'CONS'
.1200:	.IF MODULE NE "DIMEN" .IFF CMPALL .GOTO 1210
	PIP 'FX'DIMEN.FTN;*/DE/NM,'OX'DIMEN.OBJ;*
	.IF LX NE "NL:" PIP 'LX'DIMEN.LST;*/DE/NM
	PIP 'FX'DIMEN.FTN='SX'DIMEN.TLE,MPSPFT.COM,VECTOR,DIMEN.PGM
	.DATA 'OX'DIMEN'STRING','LX'DIMEN/-SP='FX'DIMEN.FTN'CONS'
.1210:	.IF MODULE NE "CIRDIM" .IFF CMPALL .GOTO 1220
	PIP 'FX'CIRDIM.FTN;*/DE/NM,'OX'CIRDIM.OBJ;*
	.IF LX NE "NL:" PIP 'LX'CIRDIM.LST;*/DE/NM
	PIP 'FX'CIRDIM.FTN='SX'CIRDIM.TLE,MPSPFT.COM,VECTOR,CIRDIM.PGM
	.DATA 'OX'CIRDIM'STRING','LX'CIRDIM/-SP='FX'CIRDIM.FTN'CONS'
.1220:	.IF MODULE NE "ARC" .IFF CMPALL .GOTO 1225
	PIP 'OX'ARC.OBJ;*/DE/NM
	.DATA 'OX'ARC'STRING','LX'ARC/-SP='SX'ARC.PGM
.1225:	.IF MODULE NE "MPRECT" .IFF CMPALL .GOTO 1230
	PIP 'FX'MPRECT.FTN;*/DE/NM,'OX'MPRECT.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPRECT.LST;*/DE/NM
	PIP 'FX'MPRECT.FTN='SX'MPRECT.TLE,MPSPFT.COM,VECTOR,PARSDF,MPRECT.PGM
	.DATA 'OX'MPRECT'STRING','LX'MPRECT/-SP='FX'MPRECT.FTN'CONS'
.1230:	.IF MODULE NE "PARSCO" .IFF CMPALL .GOTO 1240
	PIP 'FX'PARSCO.FTN;*/DE/NM,'OX'PARSCO.OBJ;*
	.IF LX NE "NL:" PIP 'LX'PARSCO.LST;*/DE/NM
	PIP 'FX'PARSCO.FTN='SX'PARSCO.TLE,MPFILE.COM,VECTOR,DEVICE
	PIP 'FX'PARSCO.FTN='FX'PARSCO.FTN,'SX'PARSDF.COM,PARSCO.PGM
	.DATA 'OX'PARSCO'STRING','LX'PARSCO/-SP='FX'PARSCO.FTN'CONS'
.1240:	.IF MODULE NE "MPTFM0" .IFF CMPALL .GOTO 1250
	PIP 'FX'MPTFM0.FTN;*/DE/NM,'OX'MPTFM0.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPTFM0.LST;*/DE/NM
	PIP 'FX'MPTFM0.FTN='SX'MPTFM0.TLE,MPFILE.COM,VECTOR,PARSDF
	PIP 'FX'MPTFM0.FTN='FX'MPTFM0.FTN,'SX'MPTFM0.PGM
	.DATA 'OX'MPTFM0'STRING','LX'MPTFM0/-SP='FX'MPTFM0.FTN'CONS'
.1250:	.IF MODULE NE "MPTFM1" .IFF CMPALL .GOTO 1400
	PIP 'FX'MPTFM1.FTN;*/DE/NM,'OX'MPTFM1.OBJ;*
	.IF LX NE "NL:" PIP 'LX'MPTFM1.LST;*/DE/NM
	PIP 'FX'MPTFM1.FTN='SX'MPTFM1.TLE,MPFILE.COM,VECTOR,PARSDF,MPTFM1.PGM
	.DATA 'OX'MPTFM1'STRING','LX'MPTFM1/-SP='FX'MPTFM1.FTN'CONS'
.1400:	.CLOSE
	PIP *.FTN/PU
.;
.;	Do the compilation
.;
	.IFT COMFOR FOR @'FX'MULPLTCMP
	.IFT COMF77 F77 @'FX'MULPLTCMP
	.IFT COMF4P F4P @'FX'MULPLTCMP
.;
.;	Build MULPLT.OLB
.;
.1405:	.IFF OLBBLD .IFF MULBLD .GOTO 35
	.IFT FORMOD .GOTO 35
	PIP 'OX'MULPLT.OLB;*/DE/NM
	.OPEN 'FX'MULPLTOLB.CMD
	.DATA DF:OBJ
	.DATA 'OX'MULPLT.OLB/CR='OX'MPROOT,MPBLKD
	.DATA 'OX'MULPLT.OLB/IN='OX'ARC,ARROW,CIRDIM,DIMEN,MPDUMP,MPFILE
	.DATA 'OX'MULPLT.OLB/IN='OX'MPINIT,MPLOAD,MPASGD,MPSHAD
	.DATA 'OX'MULPLT.OLB/IN='OX'MPPLOT,MPPLTD,MPREAD,MPSCAN,MPSPAS,MPSPDF
	.DATA 'OX'MULPLT.OLB/IN='OX'MPSPFT,MPSPIN,MPSPLD,PARSCO,SARROW,MPSYBX
	.DATA 'OX'MULPLT.OLB/IN='OX'MPRECT,MPAPNT,MPTFM0,MPTFM1
	.CLOSE
	LBR @'FX'MULPLTOLB
	.GOTO 37
.;
.;	Replace single module
.;
.35:	.IFF FORMOD .GOTO 37
	LBR 'OX'MULPLT.OLB/RP='OX''MODULE'
	LBR 'OX'MULPLT.OLB/CO='OX'MULPLT.OLB
	PIP 'OX'MULPLT.OLB/TR
.;
.;	Build MULPLTTKB.CMD
.;
.37:	.IFF TKBBLD .GOTO 1410
 	.OPEN 'FX'MULPLTTKB.CMD
	.DATA 'OX'MULPLT'FPPS'/CP,'OX'MULPLT/SH/-SP='FX'MULPLT.ODL/MP
	.IFT F4PRES .DATA LIBR=F4PRES:RO
	.IFT FCSMUL .DATA LIBR=FCSRES:RO
	.DATA TASK=...MUL
	.DATA ACTFIL=6
	.DATA UNITS=8
	.DATA ASG =TI:3:5
	.DATA ASG =SY0:1:2:4:6:7:8
	.DATA //
	.CLOSE
.;
.;	Build MULPLT.ODL
.;
.1410:	.IFF ODLBLD .GOTO 1450
	.OPEN 'FX'MULPLT.ODL
.; the following overlay works - but flatter is better
.; for more space savings, decrease the size of LIBEXT in common SYMLIB
.; in MPINIT and in MPSPFT.  decressing this value (below 4500) will make
.; some of the external libraries too large for the area, and unusable.
.; (rough estimate:  size (4500) * 4 = number of blocks is library (18 = ENGGOT)
.;
.;	.DATA 	.ROOT	MP00-*(MP10,MP11,MP12,MP13,MP14,MP23)
.;	.DATA MP00:	.FCTR	'OX'MPROOT-'OX'MPBLKD-'SX'MSULIB/LB:VECTOR:KBCHEK-FM
.;	.DATA MP10:	.FCTR	'OX'MULPLT/LB:MPREAD-'OX'MULPLT/LB:MPASGD-FM
.;	.DATA MP11:	.FCTR	'OX'MULPLT/LB:MPDUMP-FM
.;	.DATA MP12:	.FCTR	'OX'MULPLT/LB:MPINIT-FM
.;	.DATA MP13:	.FCTR	'OX'MULPLT/LB:MPSCAN-FM-*(MP20,MP21)
.;	.DATA MP14:	.FCTR	'OX'MULPLT/LB:MPPLOT-FM-*(MP20,MP21,MP22)
.;	.DATA ;
.;	.DATA MP20:	.FCTR	'OX'MULPLT/LB:MPFILE-FM
.;	.DATA MP21:	.FCTR	'OX'MULPLT/LB:MPLOAD-FM
.;	.DATA MP22:	.FCTR	'OX'MULPLT/LB:MPPLTD-'OX'MULPLT/LB:MPSHAD-FM
.;	.DATA MP23:	.FCTR	'OX'MULPLT/LB:MPSPFT-FM-*(MP20,MP231,MP232,MP233,MP234)
.;	.DATA MP231:	.FCTR	'OX'MULPLT/LB:MPSPDF-FM
.;	.DATA MP232:	.FCTR	'OX'MULPLT/LB:MPSPIN-'OX'MULPLT/LB:PARSCO-'OX'MULPLT/LB-FM
.;	.DATA MP233:	.FCTR	'SX'MSULIB/LB:SYMPLT-FM-(MP2330,MP2331,MP2332)
.;	.DATA MP2330:	.FCTR	'OX'MULPLT/LB:MPSPAS-'OX'MULPLT/LB:MPSYBX-FM
.;	.DATA MP234:	.FCTR	'OX'MULPLT/LB:MPSPLD-'OX'MULPLT/LB-FM
.;	.DATA MP2331:	.FCTR	'OX'MULPLT/LB:SARROW-'OX'MULPLT/LB:DIMEN-'OX'MULPLT/LB:ARROW-MP2333
.;	.DATA MP2332:	.FCTR	'OX'MULPLT/LB:MPAPNT-'OX'MULPLT/LB:PARSCO-'OX'MULPLT/LB-FM
.;	.DATA MP2333:	.FCTR	'OX'MULPLT/LB:CIRDIM-'OX'MULPLT/LB:ARC-FM
.;	.DATA ;
.;	.DATA FM:	.FCTR	'SX'MSULIB/LB
.; include MPRECT somewhere, along with MPSHAD in MPSPFT overlay ...
.;	.DATA 	.END
	.ENABLE DATA
	.ROOT	MP0-*(MP1,MP2,MP3,MP4)
MP0:	.FCTR	'OX'MULPLT/LB:MULPLT:.DATA.-'OX'MSULIB/LB:VECTOR:KBCHEK-LIB
MP1:	.FCTR	'OX'MULPLT/LB:MPREAD:MPASGD:MPSCAN:MPFILE:MPLOAD:MPDUMP-LIB
MP2:	.FCTR	'OX'MULPLT/LB:MPINIT-LIB
MP3:	.FCTR	'OX'MULPLT/LB:MPPLOT:MPFILE:MPLOAD:MPPLTD:MPSHAD-LIB
MP4:	.FCTR	'OX'MULPLT/LB:MPSPFT-LIB-*(MP41,MP42,MP43)
MP41:	.FCTR	'OX'MULPLT/LB:MPSPIN:MPFILE:MPSPDF:PARSCO-MULLIB
MP42:	.FCTR	'OX'MULPLT/LB:MPSPLD:MPRECT:MPSHAD:PARSCO-MULLIB
MP43:	.FCTR	'OX'MSULIB/LB:SYMPLT-LIB-*(MP431,MP432,MP433)
MP431:	.FCTR	'OX'MULPLT/LB:MPSPAS-LIB
MP432:	.FCTR	'OX'MULPLT/LB:SARROW:DIMEN:ARROW:CIRDIM:ARC-LIB
MP433:	.FCTR	'OX'MULPLT/LB:MPAPNT:MPSYBX:PARSCO-MULLIB
;
MULLIB:	.FCTR	'OX'MULPLT/LB-LIB
LIB:	.FCTR	'OX'MSULIB/LB
	.END
.DISABLE DATA
	.CLOSE
.;
.;	Build MULPLT
.;
.1450:	.IFF TKBMUL .GOTO 2000
	PIP 'OX'MULPLT.TSK;*/DE/NM
	.IF LX NE "NL:" PIP 'OX'MULPLT.MAP;*/DE/NM
	.SETS TKBTIM <DATE>+"  "+<TIME>
	TKB @'FX'MULPLTTKB
.;
.;	Final cleanup
.;
.2000:	.SETS ENDTIM <DATE>+"  "+<TIME>
	.DISABLE QUIET
;	MULPLT building began:        'BEGTIM'
;	MULPLT task building began:   'TKBTIM'
;	MULPLT building finished:     'ENDTIM'
	.ASK DELCMD Delete temporary command files
	.IFF DELCMD .GOTO 9999
	PIP 'FX'MULPLTCMP.CMD;*/DE
	PIP 'FX'MULPLTOLB.CMD;*/DE/NM
	PIP 'FX'MULPLT.ODL;*/DE/NM
	PIP 'FX'MULPLTTKB.CMD;*/DE/NM
.9999:
