$! Usage: @EXECSYMB.BLD {compile qualifiers} {link qualifiers} {VMS version} $ ON WARNING THEN EXIT $ IF F$GETSYI("HW_MODEL") .LT. 1024 $ THEN VAX=1 $ ELSE VAX=0 $ ENDIF $ AXP=1-VAX $ IF P1 .EQS. "LINK" $ THEN MAKEOBJS=0 $ P1="" $ ELSE MAKEOBJS=1 $ ENDIF $ IF P1 .NES. "" THEN P1="/"+P1 $ VMSVERS=F$GETSYI("VERSION") $ IF P3 .NES. "" THEN VMSVERS=P3 $ VMSVERS=F$EXTRACT(1,3,VMSVERS) $ USE_KM=1 $ IF MAKEOBJS $ THEN $ IF VAX $ THEN COMPILEOPTS="" $ IF VMSVERS .LTS. "5.0" $ THEN USE_KM=0 $ IF VMSVERS .LTS. "4.0" THEN WRITE SYS$OUTPUT "Unsupported VMS version!" $ ENDIF $ ASSEMBLE="MACRO/NODEBUG" $ ENDIF $ IF AXP $ THEN COMPILEOPTS="/ALIGN=RECORD=PACKED/WARNING=NOALIGN" $ IF VMSVERS .NES. "1.5" .AND. VMSVERS .LTS. "6.1" - THEN WRITE SYS$OUTPUT "Unsupported VMS version!" $ ASSEMBLE="MACRO/MIGR/NOTIE/NODEBUG" $ ENDIF $ FORTRAN/NOCHECK/NODEBUG'COMPILEOPTS''P1' EXECSYMB $ ASSEMBLE ENTREM $ ASSEMBLE EXPSYMBDEF $ ENDIF $ IF USE_KM $ THEN $ IF MAKEOBJS $ THEN $ IF VAX THEN ASSEMBLE VAX+EXECSYMB_KM/OBJ $ IF AXP THEN ASSEMBLE AXP+EXECSYMB_KM/OBJ $ ENDIF $ @EXECSYMB_KM.LINK $ ELSE IF MAKEOBJS THEN ASSEMBLE SETUSER $ ENDIF $ @EXECSYMB.LINK "''P2'" $ ON ERROR THEN CONTINUE $ EXIT 1