1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
$ verify = 'F$Verify( 0 )'
$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$! !
$! Make.com - Make library of functions for reading and writing VAX format !
$! data for OpenVMS using DEC/Compaq/HP VAX C or DEC C (CC). !
$! !
$! DCL command syntax: @Make [ all | libvaxdata | clean ] !
$! !
$! !
$! Author: Lawrence M. Baker !
$! U.S. Geological Survey !
$! 345 Middlefield Road MS977 !
$! Menlo Park, CA 94025 !
$! baker@usgs.gov !
$! !
$! Citation: Baker, Lawrence M., 2005, libvaxdata: VAX Data Format Conver- !
$! sion Routines, US Geological Survey, Open-File Report no. !
$! 2005-XXX, nn p. !
$! !
$! !
$! Disclaimer !
$! !
$! Although this program has been used by the USGS, no warranty, expressed or !
$! implied, is made by the USGS or the United States Government as to the !
$! accuracy and functioning of the program and related program material, nor !
$! shall the fact of distribution constitute any such warranty, and no !
$! responsibility is assumed by the USGS in connection therewith. !
$! !
$! !
$! Modification History: !
$! !
$! 12-Oct-2005 L. M. Baker Original version (from make.libvfbb). !
$! !
$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$!
$ lib_name = "LibVAXData"
$ args = "||all|libvaxdata|clean|"
$ P1 = F$Edit( P1, "TRIM,LOWERCASE" )
$ If ( F$Locate( "|''P1'|", args ) .eq. F$Length( args ) )
$ Then
$ Write Sys$Error -
"DCL command syntax: @Make [ all | libvaxdata | clean ]"
$ Goto EXIT
$ EndIf
$!
$ arch = F$GetSYI( "ARCH_NAME" )
$!
$ If ( F$Search( "'arch'.DIR;1" ) .eqs. "" )
$ Then
$ Set Verify
$ Create /Directory [.'arch']
$ junk = 'F$Verify( 0 )'
$ EndIf
$!
$ cflags = ""
$!
$ Set Verify
$ Set Default [.'arch']
$ junk = 'F$Verify( 0 )'
$ If ( P1 .nes. "" ) Then $ Goto 'P1'
$!
$ALL:
$LIBVAXDATA:
$!
$! VAX Data Conversion Routines (upper case)
$!
$ Set Verify
$ CC 'cflags' [--.Src]From_VAX_I2
$ CC 'cflags' [--.Src]From_VAX_I4
$ CC 'cflags' [--.Src]From_VAX_R4
$ CC 'cflags' [--.Src]From_VAX_D8
$ CC 'cflags' [--.Src]From_VAX_G8
$ CC 'cflags' [--.Src]From_VAX_H16
$ CC 'cflags' [--.Src]To_VAX_I2
$ CC 'cflags' [--.Src]To_VAX_I4
$ CC 'cflags' [--.Src]To_VAX_R4
$ CC 'cflags' [--.Src]To_VAX_D8
$ CC 'cflags' [--.Src]To_VAX_G8
$ CC 'cflags' [--.Src]To_VAX_H16
$ CC 'cflags' [--.Src]Is_Little_Endian
$ junk = 'F$Verify( 0 )'
$!
$ If ( arch .eqs. "VAX" )
$ Then
$ blocks = 18
$ modules = 13
$ Else
$ blocks = 97
$ modules = 26
$ EndIf
$!
$! Create a static library
$!
$ Set Verify
$ Library /Create=(Blocks:'blocks',Modules:'modules',Globals:'modules',-
KeySize:16,History:0) 'lib_name'
$ Library /Insert 'lib_name' -
From_VAX_I2 , From_VAX_I4 , From_VAX_R4 , From_VAX_D8 , -
From_VAX_G8 , From_VAX_H16 , To_VAX_I2 , To_VAX_I4 , -
To_VAX_R4 , To_VAX_D8 , To_VAX_G8 , To_VAX_H16 , -
Is_Little_Endian
$ Purge 'lib_name'.olb
$ Delete From_VAX_I2.obj;* , From_VAX_I4.obj;* , From_VAX_R4.obj;* , -
From_VAX_D8.obj;* , From_VAX_G8.obj;* , From_VAX_H16.obj;* , -
To_VAX_I2.obj;* , To_VAX_I4.obj;* , To_VAX_R4.obj;* , -
To_VAX_D8.obj;* , To_VAX_G8.obj;* , To_VAX_H16.obj;* , -
Is_Little_Endian.obj;*
$ junk = 'F$Verify( 0 )'
$!
$ If ( arch .nes. "VAX" )
$ Then
$!
$ cflags = cflags + " /Names=As_Is"
$!
$! VAX Data Conversion Routines (lower case)
$!
$ Set Verify
$ CC 'cflags' [--.Src]From_VAX_I2
$ CC 'cflags' [--.Src]From_VAX_I4
$ CC 'cflags' [--.Src]From_VAX_R4
$ CC 'cflags' [--.Src]From_VAX_D8
$ CC 'cflags' [--.Src]From_VAX_G8
$ CC 'cflags' [--.Src]From_VAX_H16
$ CC 'cflags' [--.Src]To_VAX_I2
$ CC 'cflags' [--.Src]To_VAX_I4
$ CC 'cflags' [--.Src]To_VAX_R4
$ CC 'cflags' [--.Src]To_VAX_D8
$ CC 'cflags' [--.Src]To_VAX_G8
$ CC 'cflags' [--.Src]To_VAX_H16
$ CC 'cflags' [--.Src]Is_Little_Endian
$ junk = 'F$Verify( 0 )'
$!
$ Set Verify
$ Library /Insert 'lib_name' -
From_VAX_I2 , From_VAX_I4 , From_VAX_R4 , From_VAX_D8 , -
From_VAX_G8 , From_VAX_H16 , To_VAX_I2 , To_VAX_I4 , -
To_VAX_R4 , To_VAX_D8 , To_VAX_G8 , To_VAX_H16 , -
Is_Little_Endian
$ Delete From_VAX_I2.obj;* , From_VAX_I4.obj;* , From_VAX_R4.obj;* , -
From_VAX_D8.obj;* , From_VAX_G8.obj;* , From_VAX_H16.obj;* , -
To_VAX_I2.obj;* , To_VAX_I4.obj;* , To_VAX_R4.obj;* , -
To_VAX_D8.obj;* , To_VAX_G8.obj;* , To_VAX_H16.obj;* , -
Is_Little_Endian.obj;*
$ junk = 'F$Verify( 0 )'
$ EndIf
$!
$ Goto DONE
$!
$CLEAN:
$!
$ Set NoOn
$ Set Verify
$ Delete 'lib_name'.olb;*
$ Delete From_VAX_I2.obj;* , From_VAX_I4.obj;* , From_VAX_R4.obj;* , -
From_VAX_D8.obj;* , From_VAX_G8.obj;* , From_VAX_H16.obj;* , -
To_VAX_I2.obj;* , To_VAX_I4.obj;* , To_VAX_R4.obj;* , -
To_VAX_D8.obj;* , To_VAX_G8.obj;* , To_VAX_H16.obj;* , -
Is_Little_Endian.obj;*
$ junk = 'F$Verify( 0 )'
$ Set On
$!
$DONE:
$!
$ Set Verify
$ Set Default [-]
$ junk = 'F$Verify( 0 )'
$!
$EXIT:
$ Exit 1 + ( 0 * F$Verify( verify ) )
|