$! LINK_ACE_MODULES.COM $! Links ACE MAG object files together to produce an executable. $! $! Notes: $! Procedure assumes first module is program main module $! Main module external and internal names must be the same. $! $! Written by Sandy Kramer 6/97 NASA/GSFC, code 692 $! Modifcations: $! read input string variable, Sandy Kramer, 09/21/97 $! read module names from file, Sandy Kramer, 01/05/99 $ $ set noverify $ wo := write sys$output $ filename = p1 $ wo "Reading module file ",filename $ wo "" $ if filename.eqs."" $ then $ wo "User must supply object module list file." $ wo "" $ exit $ endif $ cnt = 1 $ open/read rec 'filename' $ loop: $ read/end=endloop rec mod $ if f$length(mod).gt.0 $ then $ wo "Linking module: ",mod $ mod'cnt' = mod $! wo "mod"'cnt',": ",mod'cnt' $ cnt = cnt + 1 $ endif $ goto loop $ endloop: $ close rec $ $! Create command procedure to link object modules to HDF libraries $ $ open/write link linkace.com $ $ main = mod1 $ write link "$ define rpc hdf_dir:[mfhdf.xdr]" $ write link "$ define sys DECC$LIBRARY_INCLUDE" $ write link "$ link/nodebug/share/syslib -" $ $ wcnt = 1 $ modloop: $ obj = mod'wcnt' $ if wcnt.lt.cnt-1 $ then $ write link " ",obj,".OBJ, -" $ wcnt = wcnt + 1 $ goto modloop $ else $ write link " ",obj,".OBJ, -" $ endif $ $ write link " hdf_dir:[lib]mfhdf/library, -" $ write link " hdf_dir:[lib]df/library, -" $ write link " hdf_dir:[lib]libjpeg/library, -" $ write link " hdf_dir:[lib]libz/library, -" $! inquire entry "Main program entry point name" $ write link " sys$input/opt/exec=",main,".exe" $ write link " sys$library:vaxcrtl/lib" $ write link " symbol_vector=(",mod1,"=procedure)" $! write link " symbol_vector=(",entry,"=procedure)" $ write link "$ write sys$output ""Executable ",main,".EXE created.""" $ write link "$ exit" $ $ close link $ $! Execute link procedure $ $ @linkace.com $ $ exit