NOS 
.PROC,NOS*I,\ 
*CALL COMPC 
*CALL COMUSER 
*CALL COMLIST 
*CALL COMTOB
*CALL COMIA 
*CALL COMTOL
*CALL COMXOPL 
*CALL COMPROC 
. 
  
* NOS 
*CALL     PSRLEV
* 
  
.*****  NOS 
.*      INSTALLATION INSTRUCTIONS:  
  
.***    INVOCATION
.*      BEGIN,NOS,INSTALL.
  
.***    INPUT.
.*         THE COMPOSITE OPL, OPL_PSROUT, IS ATTACHED AS
.*         LOCAL FILE OPL.
  
.***    OUTPUT: 
.*         BINARIES ADDED TO FILE *PRODUCT*.
.*         THE FOLLOWING PROC-S ARE ADDED TO PRODUCT. 
.*
.*             MAG
  
.***
.*      TO FULLY BUILD ALL NOS BINARIES, YOU MUST ALSO RUN JOB
.*      NOS2B.  IT CONTAINS ASSEMBLIES OF QGET,PANEL AND VDTSUBS. 
.*
  
.*
.*  START NOS VIA SUBPROC.
.*
BEGIN(SUBPROC,INSTALL,NOS,,LIST,MAPTYPE,IA,TOBLD,TOLIST,USERF)
REVERT.        NOS. 
EXIT. 
REVERT(ABORT)  NOS. 
  
  
.DATA,ZZZPROC 
.PROC,NOS.
*CALL     PSRLEV
BEGIN(MODIFYX,INSTALL)    MAKE PROPER MODIFY1 PROC LOCAL
BEGIN(PRDAUX,INSTALL,PRDNAME=OPL,#PNO=PN99,#PRO=PR99) 
RENAME(OPL=AUXPL) 
  
  
NOTE(MODIR,NR);*EDIT CPM.PFU,PPR.VEJ,0AU.1TA,1TO,1XD.6DX
BEGIN(,MODIFY1,A) 
COMPASS(A,I,S=NOSTEXT,S=CETEXT,L=LIST)  PP PROGRAMS 
  
NOTE(MODIR,NR);*EDIT BATCHIO.CLDT,CONFIG.CPUMLD,CPUPFM,CUESHEL
NOTE(MODIR,NR);*EDIT DAYFILE.GTR,IEDIT,IHFU,#INSTALL,ISF,KRONREF.LO72 
NOTE(MODIR,NR);*EDIT MAGNET.PACK,PFAM.PFLOAD,PFS.PROFILE
NOTE(MODIR,NR);*EDIT PURGALL.QFTLIST,QLOAD.ROUTE,SCTD.SETCORE 
NOTE(MODIR,NR);*EDIT SFS,SORT,SUBMIT.SUBSYST,SYSEDIT.TCOMND 
NOTE(MODIR,NR);*EDIT TDUMP,TRMDEF,VALEX.VALNET,VERIFY,VFYLIB,EOR1 
NOTE(MODIR,NR);*EDIT CPUMTR,EOR2,CVLCP,EOR3,VCC 
BEGIN(,MODIFY1,A) 
COMPASS(A,I,S=NOSTEXT,S=PSSTEXT,L=LIST)CPUS EXCEPT CPUMTR/CPUREL/CVLCP
COMPASS(A,I,S=NOSTEXT,L=LIST)                      CPUMTR 
COMPASS(A,I,S=NOSTEXT,S=SSYTEXT,L=LIST)             CVLCP 
COMPASS(A,I,S=NOSTEXT,S=CTITEXT,L=0,B=0)      VCC 
  
NOTE(MODIR,NR);*EDIT CMRINST,EQPINST,IPRINST,APRINST
BEGIN(,MODIFY1) 
COPYCR(COMPILE,LGO,1,1,72)
SKIPR(COMPILE)
COPYCR(COMPILE,LGO,1,1,72)
SKIPR(COMPILE)
COPYCR(COMPILE,LGO,1,1,72)
SKIPR(COMPILE)
COPYCR(COMPILE,LGO,1,1,72)
  
UNLOAD(ZZZPROC) 
  
NOTE(MODIR,NR);*EDIT MAG
BEGIN(,MODIFY1) 
COPYCR(COMPILE,LGO,1,1,72)
  
NOTE(MODIR,NR);*EDIT STAGE
BEGIN(,MODIFY1) 
COPYCR(COMPILE,PFGFILE,1,1,72)
REPLACE(COMPILE=STAGE)
  
NOTE(MODIR,NR)+*EDIT SUPERM 
BEGIN(,MODIFY1) 
GTR(COMPILE,LGOZZ)PROC/MS 
COPYBR(LGOZZ,LGO) 
BEGIN(SAVELIB,INSTALL,LIB=COMPILE,LIBNAME=SUPERM) 
BEGIN(PFGOUT,INSTALL,PRDNAME=NOS2,LFN=PFGFILE)
  
.IF, ( R1G .NE. 0 ) ,GENPL. 
RETURN(NEWPL) 
GTR(OPL,ZZZ)OPLC/COPYRT,OPL/CETEXT-OPL/EOR10
LIBEDIT(P=ZZZ,N=NEWPL,B=0,Z)/*BUILD,NOS 
RETURN(ZZZ) 
BEGIN(PRDOUT,INSTALL,PRDNAME=NOS2,#PNO=PN99,#PRO=PR99)
.ENDIF(GENPL) 
  
* PUT BINARIES WHICH GO INTO LIBRARY 2 INTO THE PROPER ORDER
  
LIBEDIT(P=LGO,B=0,N=BIN,L=0,Z)/*BUILD,OPLD
RETURN(LIBDIR,BIN2,BIN3,LGO)
GETR($PP/OSB$)
GETR($PP/DIO$)
BEGIN(GENDIR2,INSTALL,DIR=$*I,PP/ZZZ,$) 
RETURN(LGO) 
GETR($PP/SET$)
GETR($PP/CMR$)
GETR($TEXT/CMRINST$)
BEGIN(GENDIR2,INSTALL,DIR=$*I,PP/SET,$) 
RETURN(LGO) 
GETR($PP/EQ1$)
GETR($PP/EQ2$)
GETR($PP/EQ3$)
GETR($PP/EQP$)
GETR($TEXT/EQPINST$)
BEGIN(GENDIR2,INSTALL,DIR=$*I,PP/EQ1,$) 
RETURN(LGO) 
GETR($PP/ICM$)
GETR($PP/ICT$)
GETR($PP/APR$)
GETR($TEXT/APRINST$)
BEGIN(GENDIR2,INSTALL,DIR=$*I,PP/ICM,$) 
RETURN(LGO) 
GETR($PP/IPR$)
GETR($TEXT/IPRINST$)
BEGIN(GENDIR2,INSTALL,DIR=$*I,PP/IPR,$) 
RETURN(LGO) 
GETR($PP/RCM$)
GETR($PP/RCT$)
GETR($PP/SCP$)
GETR($PP/PPR$)
GETR($PP/STL$)
GETR($PP/MTR$)
GETR($PP/DSD$)
GETR($REL/CPUMLD$)
GETR($REL/CPUMTR$)
GETR($PP/4MZ$)
GETR($PP/4MY$)
GETR($PP/4MX$)
GETR($PP/4MW$)
GETR($PP/4MV$)
GETR($PP/4MU$)
GETR($PP/RSL$)
GETR($PP/9TA$)
GETR($PP/RMS$)
BEGIN(GENDIR2,INSTALL,DIR=$*I,PP/RCM,$) 
RETURN(LGO) 
GETR($PP/1LP$)
GETR($PP/REC$)
BEGIN(GENDIR2,INSTALL,DIR=$*I,PP/1LP,$) 
RETURN(LGO) 
GETR($PP/0TD$)
GETR($PP/1DD$)
GETR($PP/1BP$)
GETR($PP/1RU$)
GETR($PP/3RU$)
GETR($PP/3RV$)
GETR($PP/3RW$)
GETR($PP/3RX$)
GETR($PP/1FA$)
GETR($PP/1CP$)
GETR($PP/1MA$)
GETR($PP/2MB$)
GETR($PP/2MA$)
GETR($PP/2MC$)
GETR($PP/2MD$)
GETR($PP/2MF$)
GETR($PP/2MG$)
GETR($PP/2MH$)
GETR($PP/1CL$)
GETR($PP/1MB$)
GETR($PP/1MP$)
GETR($PP/1SC$)
GETR($PP/2TH$)
GETR($PP/1MC$)
GETR($PP/2MN$)
GETR($PP/1MD$)
GETR($PP/1MS$)
GETR($PP/0BF$)
GETR($PP/0DF$)
GETR($PP/0DQ$)
GETR($PP/0FA$)
GETR($PP/0PT$)
GETR($PP/0QM$)
GETR($PP/0RF$)
GETR($PP/0RP$)
GETR($PP/0RT$)
GETR($PP/0ST$)
GETR($PP/4MA$)
GETR($PP/4MB$)
GETR($PP/4MC$)
GETR($PP/4MD$)
GETR($PP/4ME$)
GETR($PP/4MF$)
GETR($PP/4MG$)
GETR($PP/4MH$)
GETR($PP/4RA$)
GETR($PP/4RB$)
GETR($PP/4RC$)
GETR($PP/4RD$)
GETR($PP/4RE$)
GETR($PP/4RF$)
GETR($PP/4RG$)
GETR($PP/4RH$)
GETR($PP/1RF$)
GETR($PP/4DA$)
GETR($PP/4DB$)
GETR($PP/4DC$)
GETR($PP/4DD$)
GETR($PP/4DE$)
GETR($PP/4DF$)
GETR($PP/4DG$)
GETR($PP/4DH$)
GETR($PP/4DI$)
GETR($PP/4DJ$)
GETR($PP/4DK$)
BEGIN(GENDIR2,INSTALL,DIR=$*I,PP/0TD,$) 
RETURN(LGO) 
GETR($PPL/1HY$) 
GETR($PPL/1XD$) 
GETR($PP/1XM$)
GETR($PP/2XM$)
GETR($PP/2XN$)
GETR($PP/1XY$)
GETR($PP/6DC$)
GETR($PP/6DD$)
GETR($PP/6DE$)
GETR($PP/7DE$)
GETR($PP/6DI$)
GETR($PP/6DJ$)
GETR($PP/7BI$)
GETR($PP/7CI$)
GETR($PP/7DI$)
GETR($PP/7EI$)
GETR($PP/7FI$)
GETR($PP/7GI$)
GETR($PP/7HI$)
GETR($PP/7II$)
GETR($PP/7JI$)
GETR($PP/7KI$)
GETR($PP/7WI$)
GETR($PP/7SI$)
GETR($PP/0TI$)
GETR($PP/0TJ$)
GETR($PP/0PI$)
GETR($PP/0RI$)
GETR($PP/0SI$)
GETR($PP/0CI$)
GETR($PP/0SC$)
GETR($PP/0SD$)
GETR($PP/7EK$)
GETR($PP/7EL$)
GETR($PP/7EM$)
GETR($PP/7EN$)
GETR($PP/7EO$)
GETR($PP/7EP$)
GETR($PP/7EQ$)
GETR($PP/7ER$)
GETR($PP/7ES$)
GETR($PP/0BK$)
GETR($PP/7BK$)
GETR($PP/6DP$)
GETR($PP/7DP$)
GETR($PP/7MP$)
GETR($PP/7RP$)
GETR($PP/7SP$)
GETR($PP/6DX$)
GETR($PP/7DX$)
GETR($PP/1CK$)
GETR($PP/3CK$)
GETR($PP/3CL$)
GETR($PP/1DS$)
GETR($PP/2DA$)
GETR($PP/2DB$)
GETR($PP/2DC$)
GETR($PP/2DD$)
GETR($PP/2DF$)
GETR($PP/2DG$)
GETR($PP/1DL$)
GETR($PP/9EA$)
GETR($PP/9AX$)
GETR($PP/9AY$)
GETR($PP/9EB$)
GETR($PP/9BC$)
GETR($PP/9EC$)
GETR($PP/9ED$)
GETR($PP/9EE$)
GETR($PP/9EF$)
GETR($PP/9EG$)
GETR($PP/9EH$)
GETR($PP/9EI$)
GETR($PP/9EJ$)
GETR($PP/9EK$)
GETR($PP/9EL$)
GETR($PP/9EM$)
GETR($PP/9EN$)
GETR($PP/9EO$)
GETR($PP/9EP$)
GETR($PP/9EQ$)
GETR($PP/9ER$)
GETR($PP/9BR$)
GETR($PP/9ES$)
GETR($PP/9ET$)
GETR($PP/9EX$)
GETR($PP/9FB$)
GETR($PP/9FC$)
GETR($PP/9FD$)
GETR($PP/9FE$)
GETR($PP/9FF$)
GETR($PP/9FG$)
GETR($PP/9FH$)
GETR($PP/9FI$)
GETR($PP/9FJ$)
GETR($PP/CVL$)
GETR($PP/3CV$)
GETR($PP/SLL$)
GETR($PP/BCL$)
BEGIN(GENDIR2,INSTALL,DIR=$*I,PPL/1HY,$)
RETURN(LGO) 
GETR($PP/LSL$)
GETR($ABS/SYSEDIT$) 
BEGIN(GENDIR2,INSTALL,DIR=$*I,PP/LSL,$) 
RETURN(LGO) 
  
* GENERATE LIBEDIT DIRECTIVES FOR LIBRARY 3 
  
PACK(LIBDIR)
LIBEDIT(P=BIN,B=0,I=LIBDIR,N=BIN3,LO=E) 
SKIPF(BIN3) 
BKSP(BIN3,2)
WRITEF(BIN3)       *REMOVE OPLD*
BEGIN(GENDIR,INSTALL,LIB=3,LGO=BIN3)
  
* MERGE TWO BINARY FILES BACK TOGETHER
  
LIBEDIT(P=BIN2,B=BIN3,N=LGO,I=0,LO=E) 
  
BEGIN(SAVELGO,INSTALL,PRDNAME=NOS2) 
BEGIN(END,INSTALL,MFT=R1G+) 
REVERT.        NOS ************************************ 
EXIT. 
REVERT(ABORT)  NOS ************************************ 
#.DATA,GETR 
.PROC,GETR,DIRECT.
  
.* PUT BINARY ON FILE *LGO* FOR GENDIR2 TEST
  
GTR(BIN,LGO)DIRECT
  
.* PUT BINARY ON FILE *BIN2* FOR LATER MERGING
.* TO RE-CREATE COMPLETE *LGO* FILE.
  
GTR(BIN,BIN2)DIRECT 
  
.* CREATE LIBEDIT DIRECTIVE TO TEMPORARILY
.* REMOVE BINARY FROM *BIN* FILE. 
  
NOTE(LIBDIR,NR)+*D,DIRECT 
  
REVERT(NOLIST) GETR 
EXIT. GETR
REVERT(ABORT) GETR - FAILED 
*WEOR 
