WE COMERR,GO 1FAIL  
IF STR(%A)=(STAGE2),GO 1STAGE2  
IF NOT EXI(STAGE2),GO 1INITIAL  
IF STR(%A)=(STAGE2),GO 1STAGE2  
DISPLAY 0, STAGE 2 COMPILER EXISTS  
DISPLAY 0, CLEAN UP OR GIVE STAGE2  
DISPLAY 0, PARAMETER TO INSTALL 
EX  
1STAGE2 
IF NOT EXI(STAGE2.PROGRAM BCMX) OR NOT EXI(STAGE2.PROGRAM CGMX) OR NOT EXI(STAGE2.SUBGROUPSRB1), GO 1MISSING
DISPLAY 0, INSTALLING STAGE2 COMPILER   
SP W,(STAGE2)   
GO 1INSTALL 
1INITIAL
DISPLAY 0,INSTALLING INITIAL COMPILER   
SP W,(:%;CURDIR;)   
GO 1INSTALL 
1MISSING
DISPLAY 0,STAGE2 COMPILER INCOMPLETE
DISPLAY 0,CLEAN UP OR REBUILD   
EX  
1INSTALL
IF STR (%Z) = (LIB), GO 1LIB
IF STR (%Z) = (MACROS), GO 1MACROS  
TG INSTALL,:MANAGER,GROUP,READ,EXECUTE  
TG %W.PROGRAM BCMX,:LIB,READ
TG %W.PROGRAM CGMX,:LIB,READ
TG PROGRAM EDMP,:LIB,READ   
TG PROGRAM OCOP,:LIB,READ   
TG STANDARDPD,:LIB,READ 
TG %W.SUBGROUPSRB1,:LIB,READ
TG GLOBALS,:LIB,READ
TG BCPLGO,:MACROS,READ  
TG CREATEGETFIL,:MACROS,READ
DP 0, TRAPS OPENED  
DP 0, NOW RE-RUN INSTALL AS :LIB AND :MACROS
EX  
1LIB
CY %W.PROGRAM BCMX, :LIB.PROGRAM BCMX(TG(:MANAGER,GROUP,EXECUTE))   
CY %W.PROGRAM CGMX,:LIB.PROGRAM CGMX(TG(:MANAGER,GROUP,EXECUTE))
CY PROGRAM EDMP,:LIB.PROGRAM EDMP(TG(:MANAGER,GROUP,EXECUTE))   
CY PROGRAM OCOP,:LIB.PROGRAM OCOP(TG(:MANAGER,GROUP,EXECUTE))   
CY STANDARDPD,:LIB.STANDARDPD(/BCPL)(TG(:MANAGER,GROUP,READ))   
CY %W.SUBGROUPSRB1,:LIB.SUBGROUPSRB1(TG(:MANAGER,GROUP,READ))   
CY GLOBALS,:LIB.GLOBALS(/BCPL)(TG(:MANAGER,GROUP,READ)) 
GO 1DONE
1MACROS 
CY BCPLGO,:MACROS.BCPLGO
CY CREATEGETFIL,:MACROS.CREATEGETFIL
1DONE   
EX  
1FAIL   
DP 0,FAILED 
EX  
