.ENABLE SUBSTITUTION
.; DECUS-C Tools build command file for native RSX-11M.
.; By
.;      Volker C. Huck
.;      17-Oct-88
.;
; MTOOL.CMD
;
; Compile Tools -- RSX-11M
;
.SETS SYSTYP "RSX-11M"
.IF <SYTYP> EQ "RSX-11M" .GOTO SYSOK
.IF <SYTYP> EQ "RSX-11M-PLUS" .GOTO SYSOK
.IF <SYTYP> EQ "MICRO-RSX" .GOTO SYSOK
;
;	You may not use SYSTEM '<SYTYP>' to build DECUS-C lexical
;	scanner for native RSX. If you want to build DECUS-C LEX under
;	VAX-11 RSX, use VTOOL.COM instead.
;
.EXIT -1
;
.SYSOK:
.SETS MCR ""
.IF <CLI> EQ "MCR" .GOTO 90
.IF <CLI> EQ "DCL" .SETS MCR "MCR "
.IF <CLI> EQ "DCL" .GOTO 90
;
; This command file must be run under MCR.  Since "AT" will give
; confusing restart instructions (as will be for '<CLI>'), MTOOL will
; now exit.  Type "@MTOOL" when you have changed CLI's to MCR.
;
.EXIT -1
.90:
;
; You must override the assignments in this file if you want the following
; logical devices to be assigned to other than SY:
;
;	SR:	Source and command files must be on this device.
;	LS:	Listings go to this device.
;	OB:	Objects go to this device.
;	MP:	Maps go to this device.
;	OU:	Task images go to this device.
;
.TRANSLATE SR
.IF <EXSTRI> EQ "" 'mcr'ASN SY:=SR:
.TRANSLATE LS
.IF <EXSTRI> EQ "" 'mcr'ASN NL:=LS:
.TRANSLATE OB
.IF <EXSTRI> EQ "" 'mcr'ASN SY:=OB:
.TRANSLATE MP
.IF <EXSTRI> EQ "" 'mcr'ASN SY:=MP:
.TRANSLATE OU
.IF <EXSTRI> EQ "" 'mcr'ASN SY:=OU:
;
;Take a break.
;
'mcr'TIM
; Compile Tools
;
	.IFNINS ...XCC 	INS $CC
	.IF	<EXSTAT> NE <SUCCES>	.GOTO 1000
	.IFNINS ...XAS	INS $AS
	.IF	<EXSTAT> NE <SUCCES>	.GOTO 1000
	.IFNINS ...TKB	INS $TKB
	.IF	<EXSTAT> NE <SUCCES>	.GOTO 1000
	.IFNINS ...PIP	INS $PIP
	.IF	<EXSTAT> NE <SUCCES>	.GOTO 1000
.;
;
; Compile ARCH
;
'mcr'XCC sr:ARCH.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN ARCH.TKB
.ENABLE DATA
ARCH/CP=ARCH.OBJ,LB:[1,1]C/LB
/
TASK	= ...ARC
//
.DISABLE DATA
.CLOSE
'mcr'TKB @ARCH.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP ARCH.TKB;/de
'mcr'PIP ARCH.TSK;/pr/wo:r
'mcr'PIP ARCH.OBJ;/de
;
; Compile ARCHC
;
'mcr'XCC sr:ARCHC.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN ARCHC.TKB
.ENABLE DATA
ARCHC/CP=ARCHC.OBJ,LB:[1,1]C/LB
/
TASK	= ...ARC
//
.DISABLE DATA
.CLOSE
'mcr'TKB @ARCHC.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP ARCHC.TKB;/de
'mcr'PIP ARCHC.TSK;/pr/wo:r
'mcr'PIP ARCHC.OBJ;/de
;
; Compile ARCHX
;
'mcr'XCC sr:ARCHX.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN ARCHX.TKB
.ENABLE DATA
ARCHX/CP=ARCHX.OBJ,LB:[1,1]C/LB
/
TASK	= ...ARX
//
.DISABLE DATA
.CLOSE
'mcr'TKB @ARCHX.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP ARCHX.TKB;/de
'mcr'PIP ARCHX.TSK;/pr/wo:r
'mcr'PIP ARCHX.OBJ;/de
;
; Compile BUILD
;
'mcr'PIP BUILD.H=sr:BUILD.H
'mcr'XCC sr:BUILD0.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:BUILD1.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:BUILD2.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:BUILD3.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:BUILD4.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:BUILD5.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN BUILD.TKB
.ENABLE DATA
BUILD/CP=BUILD0.OBJ,BUILD1.OBJ,BUILD2.OBJ
BUILD3.OBJ,BUILD4.OBJ,BUILD5.OBJ
LB:[1,1]C/LB
/
TASK	= ...BUI
STACK	= 2000
//
.DISABLE DATA
.CLOSE
'mcr'TKB @BUILD.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP BUILD.TKB;/de
'mcr'PIP BUILD.TSK;/pr/wo:r
'mcr'PIP BUILD0.OBJ;/de
'mcr'PIP BUILD1.OBJ;/de
'mcr'PIP BUILD2.OBJ;/de
'mcr'PIP BUILD3.OBJ;/de
'mcr'PIP BUILD4.OBJ;/de
'mcr'PIP BUILD5.OBJ;/de
;
; Compile COMM
;
'mcr'XCC sr:COMM.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN COMM.TKB
.ENABLE DATA
COMM/CP=COMM.OBJ,LB:[1,1]C/LB
/
TASK	= ...COM
//
.DISABLE DATA
.CLOSE
'mcr'TKB @COMM.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP COMM.TKB;/de
'mcr'PIP COMM.TSK;/pr/wo:r
'mcr'PIP COMM.OBJ;/de
;
; Compile CPP
;
'mcr'PIP CPPDEF.H=sr:CPPDEF.H
'mcr'PIP CPP.H=sr:CPP.H
'mcr'XCC sr:CPP1.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:CPP2.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:CPP3.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:CPP4.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:CPP5.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:CPP6.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN CPP.TKB
.ENABLE DATA
CPP/CP=CPP1.OBJ,CPP2.OBJ,CPP3.OBJ
CPP4.OBJ,CPP5.OBJ,CPP6.OBJ
LB:[1,1]C/LB
/
STACK	= 2000
//
.DISABLE DATA
.CLOSE
'mcr'TKB @CPP.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP CPP.TKB;/de
'mcr'PIP CPP.TSK;/pr/wo:r
'mcr'PIP CPP1.OBJ;/de
'mcr'PIP CPP2.OBJ;/de
'mcr'PIP CPP3.OBJ;/de
'mcr'PIP CPP4.OBJ;/de
'mcr'PIP CPP5.OBJ;/de
'mcr'PIP CPP6.OBJ;/de
;
; Compile DETAB
;
'mcr'XCC sr:DETAB.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN DETAB.TKB
.ENABLE DATA
DETAB/CP=DETAB.OBJ,LB:[1,1]C/LB
/
TASK	= ...DET
//
.DISABLE DATA
.CLOSE
'mcr'TKB @DETAB.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP DETAB.TKB;/de
'mcr'PIP DETAB.TSK;/pr/wo:r
'mcr'PIP DETAB.OBJ;/de
;
; Compile DIFF
;
'mcr'XCC sr:DIFF.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN DIFF.TKB
.ENABLE DATA
DIFF/CP=DIFF.OBJ,LB:[1,1]C/LB
/
TASK	= ...DIF
//
.DISABLE DATA
.CLOSE
'mcr'TKB @DIFF.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP DIFF.TKB;/de
'mcr'PIP DIFF.TSK;/pr/wo:r
'mcr'PIP DIFF.OBJ;/de
;
; Compile ECHO
;
'mcr'XCC sr:ECHO.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN ECHO.TKB
.ENABLE DATA
ECHO/CP=ECHO.OBJ,LB:[1,1]C/LB
/
TASK	= ...ECH
//
.DISABLE DATA
.CLOSE
'mcr'TKB @ECHO.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP ECHO.TKB;/de
'mcr'PIP ECHO.TSK;/pr/wo:r
'mcr'PIP ECHO.OBJ;/de
;
; Compile ENTAB
;
'mcr'XCC sr:ENTAB.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN ENTAB.TKB
.ENABLE DATA
ENTAB/CP=ENTAB.OBJ,LB:[1,1]C/LB
/
TASK	= ...ENT
//
.DISABLE DATA
.CLOSE
'mcr'TKB @ENTAB.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP ENTAB.TKB;/de
'mcr'PIP ENTAB.TSK;/pr/wo:r
'mcr'PIP ENTAB.OBJ;/de
;
; Compile FIXDOC
;
'mcr'XCC sr:FIXDOC.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN FIXDOC.TKB
.ENABLE DATA
FIXDOC/CP=FIXDOC.OBJ,LB:[1,1]C/LB
/
TASK	= ...FXD
//
.DISABLE DATA
.CLOSE
'mcr'TKB @FIXDOC.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP FIXDOC.TKB;/de
'mcr'PIP FIXDOC.TSK;/pr/wo:r
'mcr'PIP FIXDOC.OBJ;/de
;
; Compile GETCMD
;
'mcr'XCC sr:GETCMD.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN GETCMD.TKB
.ENABLE DATA
GETCMD/CP=GETCMD.OBJ,LB:[1,1]C/LB
/
TASK	= ...GTC
//
.DISABLE DATA
.CLOSE
'mcr'TKB @GETCMD.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP GETCMD.TKB;/de
'mcr'PIP GETCMD.TSK;/pr/wo:r
'mcr'PIP GETCMD.OBJ;/de
;
; Compile GETKWK
;
'mcr'XCC sr:GETKWK.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN GETKWK.TKB
.ENABLE DATA
GETKWK/CP=GETKWK.OBJ,LB:[1,1]C/LB
/
TASK	= ...GTK
//
.DISABLE DATA
.CLOSE
'mcr'TKB @GETKWK.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP GETKWK.TKB;/de
'mcr'PIP GETKWK.TSK;/pr/wo:r
'mcr'PIP GETKWK.OBJ;/de
;
; Compile GETRNO
;
'mcr'XCC sr:GETRNO.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN GETRNO.TKB
.ENABLE DATA
GETRNO/CP=GETRNO.OBJ,LB:[1,1]C/LB
/
TASK	= ...GTR
//
.DISABLE DATA
.CLOSE
'mcr'TKB @GETRNO.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP GETRNO.TKB;/de
'mcr'PIP GETRNO.TSK;/pr/wo:r
'mcr'PIP GETRNO.OBJ;/de
;
; Compile GREP
;
'mcr'XCC sr:GREP.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN GREP.TKB
.ENABLE DATA
GREP/CP=GREP.OBJ,LB:[1,1]C/LB
/
TASK	= ...GRE
//
.DISABLE DATA
.CLOSE
'mcr'TKB @GREP.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP GREP.TKB;/de
'mcr'PIP GREP.TSK;/pr/wo:r
'mcr'PIP GREP.OBJ;/de
;
; Compile KWIK
;
'mcr'XCC sr:KWIK.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:SORTS.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN KWIK.TKB
.ENABLE DATA
KWIK/CP=KWIK.OBJ,SORTS.OBJ,LB:[1,1]C/LB
/
TASK = ...KWI
//
.DISABLE DATA
.CLOSE
'mcr'TKB @KWIK.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP KWIK.TKB;/de
'mcr'PIP KWIK.TSK;/pr/wo:r
'mcr'PIP KWIK.OBJ;/de
'mcr'PIP SORTS.OBJ;/de
;
; Compile LINEPR
;
'mcr'XCC sr:LINEPR.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN LINEPR.TKB
.ENABLE DATA
LINEPR/CP=LINEPR.OBJ,LB:[1,1]C/LB
/
TASK = ...LIN
//
.DISABLE DATA
.CLOSE
'mcr'TKB @LINEPR.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP LINEPR.TKB;/de
'mcr'PIP LINEPR.TSK;/pr/wo:r
'mcr'PIP LINEPR.OBJ;/de
;
; Compile MC
;
'mcr'XCC sr:MC.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN MC.TKB
.ENABLE DATA
MC/CP=MC.OBJ,LB:[1,1]C/LB
/
TASK	=	...MCX
UNITS	=	10
ACTFIL	=	10
//
.DISABLE DATA
.CLOSE
'mcr'TKB @MC.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP MC.TKB;/de
'mcr'PIP MC.TSK;/pr/wo:r
'mcr'PIP MC.OBJ;/de
;
; Compile NM
;
'mcr'XCC sr:NM.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN NM.TKB
.ENABLE DATA
NM/CP=NM.OBJ,LB:[1,1]C/LB
/
TASK	= ...NMX
//
.DISABLE DATA
.CLOSE
'mcr'TKB @NM.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP NM.TKB;/de
'mcr'PIP NM.TSK;/pr/wo:r
'mcr'PIP NM.OBJ;/de
;
; Compile OD
;
'mcr'XCC sr:OD.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN OD.TKB
.ENABLE DATA
OD/CP=OD.OBJ,LB:[1,1]C/LB
/
TASK	= ...ODX
//
.DISABLE DATA
.CLOSE
'mcr'TKB @OD.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP OD.TKB;/de
'mcr'PIP OD.TSK;/pr/wo:r
'mcr'PIP OD.OBJ;/de
;
; Compile PR
;
'mcr'XCC sr:PR.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN PR.TKB
.ENABLE DATA
PR/CP=PR.OBJ,LB:[1,1]C/LB
/
TASK	= ...PRX
//
.DISABLE DATA
.CLOSE
'mcr'TKB @PR.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP PR.TKB;/de
'mcr'PIP PR.TSK;/pr/wo:r
'mcr'PIP PR.OBJ;/de
;
; Compile RNOIDX
;
'mcr'XCC sr:RNOIDX.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN RNOIDX.TKB
.ENABLE DATA
RNOIDX/CP=RNOIDX.OBJ,LB:[1,1]C/LB
/
TASK	= ...IDX
//
.DISABLE DATA
.CLOSE
'mcr'TKB @RNOIDX.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP RNOIDX.TKB;/de
'mcr'PIP RNOIDX.TSK;/pr/wo:r
'mcr'PIP RNOIDX.OBJ;/de
;
; Compile SCAT
;
'mcr'XCC sr:SCAT.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN SCAT.TKB
.ENABLE DATA
SCAT/CP=SCAT.OBJ,LB:[1,1]C/LB
/
TASK	= ...CAT
//
.DISABLE DATA
.CLOSE
'mcr'TKB @SCAT.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP SCAT.TKB;/de
'mcr'PIP SCAT.TSK;/pr/wo:r
'mcr'PIP SCAT.OBJ;/de
;
; Compile SCOPY
;
'mcr'XCC sr:SCOPY.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN SCOPY.TKB
.ENABLE DATA
SCOPY/CP=SCOPY.OBJ,LB:[1,1]C/LB
/
TASK = ...SCO
//
.DISABLE DATA
.CLOSE
'mcr'TKB @SCOPY.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP SCOPY.TKB;/de
'mcr'PIP SCOPY.TSK;/pr/wo:r
'mcr'PIP SCOPY.OBJ;/de
;
; Compile SORTC
;
'mcr'XCC sr:SORTC.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:QKSORT.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN SORTC.TKB
.ENABLE DATA
SORTC/CP=SORTC.OBJ,QKSORT.OBJ,LB:[1,1]C/LB
/
TASK 	= ...SOR
ACTFIL	= 6
UNITS	= 6
//
.DISABLE DATA
.CLOSE
'mcr'TKB @SORTC.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP SORTC.TKB;/de
'mcr'PIP SORTC.TSK;/pr/wo:r
'mcr'PIP SORTC.OBJ;/de
'mcr'PIP QKSORT.OBJ;/de
;
; Compile T
;
'mcr'PIP T.H=sr:T.H
'mcr'XCC sr:T1.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:T2.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:T3.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:T4.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:T5.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:T6.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:T7.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN T.TKB
.ENABLE DATA
T/CP=T1.OBJ,T2.OBJ,T3.OBJ
T4.OBJ,T5.OBJ,T6.OBJ
T7.OBJ,LB:[1,1]C/LB
/
TASK	= ...TXX
//
.DISABLE DATA
.CLOSE
'mcr'TKB @T.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP T.TKB;/de
'mcr'PIP T.TSK;/pr/wo:r
'mcr'PIP T1.OBJ;/de
'mcr'PIP T2.OBJ;/de
'mcr'PIP T3.OBJ;/de
'mcr'PIP T4.OBJ;/de
'mcr'PIP T5.OBJ;/de
'mcr'PIP T6.OBJ;/de
'mcr'PIP T7.OBJ;/de
;
; Compile TR
;
'mcr'XCC sr:TR.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN TR.TKB
.ENABLE DATA
TR/CP=TR.OBJ,LB:[1,1]C/LB
/
TASK	=	...TRX
//
.DISABLE DATA
.CLOSE
'mcr'TKB @TR.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP TR.TKB;/de
'mcr'PIP TR.TSK;/pr/wo:r
'mcr'PIP TR.OBJ;/de
;
; Compile UNIQ
;
'mcr'XCC sr:UNIQ.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN UNIQ.TKB
.ENABLE DATA
UNIQ/CP=UNIQ.OBJ,LB:[1,1]C/LB
/
TASK	= ...UNI
//
.DISABLE DATA
.CLOSE
'mcr'TKB @UNIQ.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP UNIQ.TKB;/de
'mcr'PIP UNIQ.TSK;/pr/wo:r
'mcr'PIP UNIQ.OBJ;/de
;
; Compile UNITS
;
'mcr'XCC sr:UNITS.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:ATOF.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN UNITS.TKB
.ENABLE DATA
UNITS/CP=UNITS,ATOF,LB:[1,1]DTOA
LB:[1,1]C/LB
/
TASK	= ...UNI
//
.DISABLE DATA
.CLOSE
'mcr'TKB @UNITS.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP UNITS.TKB;/de
'mcr'PIP UNITS.TSK;/pr/wo:r
'mcr'PIP UNITS.OBJ;/de
'mcr'PIP ATOF.OBJ;/de
;
; Compile WC
;
'mcr'XCC sr:WC.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN WC.TKB
.ENABLE DATA
WC/CP=WC.OBJ,LB:[1,1]C/LB
/
TASK	= ...WCX
//
.DISABLE DATA
.CLOSE
'mcr'TKB @WC.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP WC.TKB;/de
'mcr'PIP WC.TSK;/pr/wo:r
'mcr'PIP WC.OBJ;/de
;
; Compile XRF
;
'mcr'PIP XRF.H=sr:XRF.H
'mcr'XCC sr:XRF0.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:XRF1.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:XRF2.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:XRF3.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:XRFI.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'XCC sr:XRFD.C -a 
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
.OPEN XRF.TMP
.ENABLE DATA
;
; OVERLAY DESCRIPTION FOR XRF
; BOB DENNY	29-MAY-81
;
.ROOT	XRF0-XRF2-XRFD-LB:[1,1]C/LB-*(X1,X2,X3)
;
X1:	.FCTR	XRFI-X1L1-X1L2-X1L3
X1L1:	.FCTR	LB:[1,1]C/LB:CONCAT:FWILD
; Note: CTIME requires several other library modules:
X1L2:	.FCTR	LB:[1,1]C/LB:TIME:CTIME:LOCALT:$$RTIME:$$UTIME
X1L3:	.FCTR	LB:[1,1]C/LB:CALLOC:MUL$L:$$DIV2:EIS$I
;
X2:	.FCTR	XRF1-X2L
X2L:	.FCTR	LB:[1,1]C/LB:EIS$I
;
X3:	.FCTR	XRF3-X3L
X3L:	.FCTR	LB:[1,1]C/LB:SPRINT
.END

.DISABLE DATA
.CLOSE
.OPEN XRF.TKB
.ENABLE DATA
XRF/CP=XRF.TMP/MP
TASK = ...XRF
STACK = 1500
//
.DISABLE DATA
.CLOSE
'mcr'TKB @XRF.TKB
.IF <EXSTAT> NE <SUCCES> .GOTO 1000
'mcr'PIP XRF.TKB;/de
'mcr'PIP XRF.TSK;/pr/wo:r
'mcr'PIP XRF.TMP;/de
'mcr'PIP XRF0.OBJ;/de
'mcr'PIP XRF1.OBJ;/de
'mcr'PIP XRF2.OBJ;/de
'mcr'PIP XRF3.OBJ;/de
'mcr'PIP XRFI.OBJ;/de
'mcr'PIP XRFD.OBJ;/de
;
'mcr'TIM
; DECUS-C Tools built successfully.
;
;
.EXIT <SUCCES>
.1000:
;
; There has been an error. Please re-read the build instructions in
; the manual.
;
.EXIT -1
