d$! DO ZLIB {Program_source .or. ALL} !!Used by System Manager $! This should create or update SCI_LIB:SCILIB.OLB ,$! $! This takes one, or all the files from SCI_LIB, compiles $! or assembles them, and then adds them to SCI_LIB:SCILIB.OLB X$! to create a new system library. $! $! -end.of.info- $ $ scilib := 'f$logical("SCI_LIB") L$ if(p1.eqs."") then inquire p1 "ALL or Program" $ if(p1.eqs."") then exit $ prog := * x$ if( p1.nes."ALL" ) then prog := 'p1 $ @$ zmode := 'f$mode() $ dir/full/out=UPLIB.VX 'scilib''prog'.for,'scilib''prog'.mar $ assign/user nl: sys$output l$ edit UPLIB.VX k/2 4$ $ open/read ztemp UPLIB.VX $ on error then goto finUPLIB ` $ on control then goto finUPLIB $ ( $ if( p1.eqs."ALL" ) then delete 'scilib'SCILIB.OLB;* $ if( p1.eqs."ALL" ) then LIB 'scilib'SCILIB.OLB/create $ T $nxsour: $ on error then goto badmod  $ read/err=finUPLIB ztemp line $ inx = 'f$locate( ".FOR",line ) $ if( inx .ge. 'f$length(line) ) then goto notfor H $ name := 'f$extract(0,inx,line) $ if( zmode.nes."BATCH") then write sys$output "_FOR ",name $ FORT/nolist 'scilib''name t$ goto dolib $ <$notfor: $ inx = 'f$locate( ".MAR",line ) $ if( inx .ge. 'f$length(line) ) then goto nxsour h$ name := 'f$extract(0,inx,line) $ if( zmode.nes."BATCH") then write sys$output "_MAR ",name 0$ MACR/nolist 'scilib''name $ goto dolib $ \$dolib: $ if( zmode.nes."BATCH") then write sys$output "_lib ",name $$ LIBRARY 'scilib'SCILIB.OLB 'name $ DELETE 'name'.obj;* $ goto nxsour P$ $badmod: $ write sys$output "*Bad Module ",name," ************" |$ goto nxsour $ D$finUPLIB: $ close ztemp $ delete UPLIB.VX;*