Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-06 - decus/20-153/rpg20.ctl
There is 1 other file named rpg20.ctl in the archive. Click here to see a list.
;RPG20.CTL		Control file to create standard TOPS-20 RPGII compiler
;
;Copyright (C) 1976 Bob Currier and Cerritos College
;
;
;Include file LISTEM.MAC in users area if listings are desired
;
@ERROR %
@TYPE LISTEM.MAC
@IF (NOERROR) @GOTO LISTEM
@ERROR
;
;Assemble sources with no listings
;
@MACRO
*RPGA20=RPGA20
*INTERM=INTERM
*RPGUNV=RPGUNV
*CLEANT=RPGIIP,CLEANT
*DIAGS=RPGIIP,RPGERR,DIAGS
*GENCOM=RPGIIP,GENCOM
*GETASY=RPGIIP,GETASY
*GETCPY=RPGIIP,GETCPY
*GETERA=RPGIIP,GETERA
*GETGEN=RPGIIP,GETGEN
*GETSRC=RPGIIP,GETSRC
IMP::
@MACRO
*IMPURE=RPGIIP,IMPURE
*LOOKUP=RPGIIP,LOOKUP
*PREDIT=RPGIIP,PREDIT
*PURAB=RPGIIP,PURAB,PURE
*PUREC=RPGIIP,PUREC,PURE
*PURED=RPGIIP,PURED,PURE
*PUREE=RPGIIP,PUREE,PURE
*PURFG=RPGIIP,PURFG,PURE
*PUTAS1=RPGIIP,PUTAS1
*PUTAS2=RPGIIP,PUTAS2
*PUTAS3=RPGIIP,PUTAS3
*PUTBIN=RPGIIP,PUTBIN
*PUTERA=RPGIIP,PUTERA
*PUTGEN=RPGIIP,PUTGEN
*PUTLST=RPGIIP,PUTLST
*RPGCOM=RPGIIP,RPGCOM
*RPGIIA=RPGIIP,RPGIIA
*RPGIIB=RPGIIP,RPGIIB
*RPGIIC=RPGIIP,RPGIIC
RPGD::
@MACRO
*RPGIID=RPGIIP,RPGIID
*RPGIIE=RPGIIP,RPGIIE
*RPGIIF=RPGIIP,RPGIIF
*RPGIIG=RPGIIP,RPGIIG
*RPGIIK=RPGIIP,RPGIIK
SRT::
@MACRO
*SRTTAB=RPGIIP,SRTTAB
*STINFL=RPGIIP,STINFL
*TRYNAM=RPGIIP,TRYNAM
*XPAND=RPGIIP,XPAND
*XPNPPL=RPGIIP,XPNPPL
@GOTO LIBA
;
;Assemble sources with listings
;
LISTEM::
@ERROR
@MACRO
*RPGA20,RPGA20/C=RPGA20
*INTERM,INTERM/C=INTERM
*RPGUNV,RPGUNV/C=RPGUNV
*CLEANT,CLEANT/C=RPGIIP,CLEANT
*DIAGS,DIAGS/C=RPGIIP,RPGERR,DIAGS
*GENCOM,GENCOM/C=RPGIIP,GENCOM
*GETASY,GETASY/C=RPGIIP,GETASY
*GETCPY,GETCPY/C=RPGIIP,GETCPY
*GETERA,GETERA/C=RPGIIP,GETERA
*GETGEN,GETGEN/C=RPGIIP,GETGEN
*GETSRC,GETSRC/C=RPGIIP,GETSRC
*IMPURE,IMPURE/C=RPGIIP,IMPURE
*LOOKUP,LOOKUP/C_RPGIIP,LOOKUP
*PREDIT,PREDIT/C_RPGIIP,PREDIT
*PURAB,PURAB/C=RPGIIP,PURAB,PURE
*PUREC,PUREC/C=RPGIIP,PUREC,PURE
*PURED,PURED/C=RPGIIP,PURED,PURE
*PUREE,PUREE/C=RPGIIP,PUREE,PURE
*PURFG,PURFG/C=RPGIIP,PURFG,PURE
*PUTAS1,PUTAS1/C=RPGIIP,PUTAS1
*PUTAS2,PUTAS2/C=RPGIIP,PUTAS2
*PUTAS3,PUTAS3/C=RPGIIP,PUTAS3
*PUTBIN,PUTBIN/C=RPGIIP,PUTBIN
*PUTERA,PUTERA/C=RPGIIP,PUTERA
*PUTGEN,PUTGEN/C=RPGIIP,PUTGEN
*PUTLST,PUTLST/C=RPGIIP,PUTLST
*RPGCOM,RPGCOM/C=RPGIIP,RPGCOM
*RPGIIA,RPGIIA/C=RPGIIP,RPGIIA
*RPGIIB,RPGIIB/C=RPGIIP,RPGIIB
*RPGIIC,RPGIIC/C=RPGIIP,RPGIIC
*RPGIID,RPGIID/C=RPGIIP,RPGIID
*RPGIIE,RPGIIE/C=RPGIIP,RPGIIE
*RPGIIF,RPGIIF/C=RPGIIP,RPGIIF
*RPGIIG,RPGIIG/C=RPGIIP,RPGIIG
*RPGIIK,RPGIIK/C=RPGIIP,RPGIIK
*SRTTAB,SRTTAB/C=RPGIIP,SRTTAB
*STINFL,STINFL/C=RPGIIP,STINFL
*TRYNAM,TRYNAM/C=RPGIIP,TRYNAM
*XPAND,XPAND/C=RPGIIP,XPAND
*XPNPPL,XPNPPL/C=RPGIIP,XPNPPL
@IF (ERROR) GOTO TRUBLE
;
;Create the CREFed listings
;
@CREF
*CLEANT.LST=CLEANT
*DIAGS.LST=DIAGS
*GENCOM.LST=GENCOM
*GETASY.LST=GETASY
*GETCPY.LST=GETCPY
*GETERA.LST=GETERA
*GETGEN.LST=GETGEN
*GETSRC.LST=GETSRC
*IMPURE.LST=IMPURE
*INTERM.LST=INTERM
*LOOKUP.LST=LOOKUP
*PREDIT.LST=PREDIT
*PURAB.LST=PURAB
*PUREC.LST=PUREC
*PURED.LST=PURED
*PUREE.LST=PUREE
*PURFG.LST=PURFG
*PUTAS1.LST=PUTAS1
*PUTAS2.LST=PUTAS2
*PUTAS3.LST=PUTAS3
*PUTBIN.LST=PUTBIN
*PUTERA.LST=PUTERA
*PUTGEN.LST=PUTGEN
*PUTLST.LST=PUTLST
*RPGA20.LST=RPGA20
*RPGCOM.LST=RPGCOM
*RPGIIA.LST=RPGIIA
*RPGIIB.LST=RPGIIB
*RPGIIC.LST=RPGIIC
*RPGIID.LST=RPGIID
*RPGIIE.LST=RPGIIE
*RPGIIF.LST=RPGIIF
*RPGIIG.LST=RPGIIG
*RPGIIK.LST=RPGIIK
*RPGUNV.LST=RPGUNV
*SRTTAB.LST=SRTTAB
*STINFL.LST=STINFL
*TRYNAM.LST=TRYNAM
*XPAND.LST=XPAND
*XPNPPL.LST=XPNPPL
@IF (ERROR) @GOTO TRUBLE
;
;Continue here after assemble and/or listings
;
;
;Create library file LIBA.REX
;
LIBA::;
@COPY LOOKUP.REL LIBA.REX
@APPEND GENCOM.REL,CLEANT.REL,SRTTAB.REL,GETCPY.REL,PREDIT.REL,PUTAS1.REL,PUTAS2.REL,PUTAS3.REL LIBA.REX
@APPEND PUTGEN.REL,PUTBIN.REL,GETASY.REL,GETERA.REL,GETGEN.REL,GETSRC.REL,DIAGS.REL LIBA.REX
@APPEND TRYNAM.REL,STINFL.REL,XPNPPL.REL,IMPURE.REL,RPGCOM.REL,PUTLST.REL LIBA.REX
@APPEND PURAB.REL,PUREC.REL,PURED.REL,PUREE.REL LIBA.REX
@APPEND PURFG.REL,PUTERA.REL,XPAND.REL LIBA.REX
@IF (ERROR) @GOTO TRUBLE
;
;Throw away local symbols, write index
;
@MAKLIB
*LIBA.REX=LIBA.REX/NOLOCAL/INDEX
@IF (ERROR) @GOTO TRUBLE
;
;Load the compiler
;
ONESG::
@ERROR
@LINK
*/HASHSIZE:1374
*RPGII.MAP/MAP=RPGIIA,RPGIIB,RPGIIC,RPGIID,RPGIIE,RPGIIF,RPGIIG,RPGIIK
*PURAB,LIBA.REX/SEARCH/START:RPGIIA/GO
@SAVE RPGII
@IF (ERROR) @GOTO TRUBLE
CONT::;CONTINUE
;
;Delete all unwanted files
;
@DELETE GENCOM.REL,CLEANT.REL,SRTTAB.REL,GETCPY.REL,LOOKUP.REL,PREDIT.REL,PUTAS1.REL,PUTAS2.REL,PUTAS3.REL,INTERM.REL,RPGA20.REL
@DELETE PUTGEN.REL,PUTBIN.REL,GETASY.REL,GETERA.REL,GETGEN.REL,GETSRC.REL,DIAGS.REL
@DELETE TRYNAM.REL,STINFL.REL,XPNPPL.REL,IMPURE.REL,RPGCOM.REL,PUTLST.REL
@DELETE PURAB.REL,PUREC.REL,PURED.REL,PUREE.REL,PURFG.REL,PUTERA.REL,XPAND.REL
@GOTO OK
TRUBLE:
OK::;END OF RPGII.CTL