These are notes both for the person doing the packing of the routines for transfer and for the person doing the unpacking on the other side.
Much of this could be a bit more automated, but to keep the setup process as clear as possible, it has not been automated...
setenv BASE_DIR /home/idunn1/rgr/prototype/"root" for the data system is an arbitrary choice. This directory will be referred to as ${BASE_DIR}.
These three sub directories should be created:
mkdir ${BASE_DIR}/data
mkdir ${BASE_DIR}/lib
mkdir ${BASE_DIR}/src
mkdir ${BASE_DIR}/data/cris
mkdir ${BASE_DIR}/data/sis
These are good locations in which the data can be archived. If you
place your archive data files here, you will be defining the environment
variables which the get libraries require as:
setenv L1_CRIS_DATA_BASE_DIRECTORY ${BASE_DIR}/data/cris
setenv L1_SIS_DATA_BASE_DIRECTORY ${BASE_DIR}/data/sis
No more will be said here on the subject of data archiving.
Create these directories:
mkdir ${BASE_DIR}/src/include
mkdir ${BASE_DIR}/src/lib
Or, in all,
setenv BASE_DIR /home/idunn1/rgr/prototype/
mkdir ${BASE_DIR}/data
mkdir ${BASE_DIR}/lib
mkdir ${BASE_DIR}/src
mkdir ${BASE_DIR}/data/cris
mkdir ${BASE_DIR}/data/sis
mkdir ${BASE_DIR}/src/include
mkdir ${BASE_DIR}/src/lib
setenv BASE_DIR /home/idunn1/rgr/prototype
cd ${BASE_DIR}/src/lib
makeSrcArchives.pl crisGetData crisSisGetUtilities sisGetData utilities
[Enter new version ID]
[Enter] getDataLibs
[follow ftp instructions to place files on web server]
cd ${BASE_DIR}/src/include
makeSrcArchives.pl cris sis prototype FileTypes.h PrimaryHeader.h cris.h sis.h hdfi.h
[Enter new version ID]
[Enter] crisSisDataHeaders
[follow ftp instructions to place files on web server]
After setting up the directory structure as directed above, move the library distribution into ${BASE_DIR}/src/lib and move the includes distribution into ${BASE_DIR}/src/include and then unpack them (something like the following:)
setenv BASE_DIR /home/darkalf/bruce/test
mv crisSisDataHeaders-1.00.tar.gz ${BASE_DIR}/src/include
mv getDataLibs-1.00.tar.gz ${BASE_DIR}/src/lib
cd ${BASE_DIR}/src/include
gunzip crisSisDataHeaders-1.00.tar.gz
tar xvf crisSisDataHeaders-1.00.tar
gzip crisSisDataHeaders-1.00.tar
cd ${BASE_DIR}/src/lib
gunzip getDataLibs-1.00.tar.gz
tar xvf getDataLibs-1.00.tar
gzip getDataLibs-1.00.tar
There will be a similar set of commands for installing the source and
header files on a PC. But you will be dealing with the .zip files
and using unzip instead of gunzip and tar.A
If you are curious about what the whole directory structure should look like at this point, here is my recursive listing.
Always run make in crisSisGetUtilities before those in crisGetData or sisGetData, as object files are created in crisSisGetUtilities and moved into crisGetData and sisGetData for incorporation into their respective libraries.
cd ${BASE_DIR}/src/lib/utilities
vi Makefile
make
cd ${BASE_DIR}/src/lib/crisSisGetUtilities
vi Makefile
make
cd ${BASE_DIR}/src/lib/crisGetData
vi Makefile
make
cd ${BASE_DIR}/src/lib/sisGetData
vi Makefile
make
If the 4 makes worked, then your libraries should be ready to go. Look
in the lib directory: ${BASE_DIR}/lib
and you should see:
libCrisGetData.a libSisGetData.a libUtilities.aUse these libraries as you would any other c library. See the sample Makefile.
The include files corresponding to the library contents will be in ${BASE_DIR}/src/include:
crisGetData.h crisSisGetUtilities.h sisGetData.h utilities.h
Also, some of the routines may need to be rewritten, dependent on how good a POSIX compiler can be found. If there is a GNU C compiler for PCs, I highly recommend it's use here.
Another note is that the header file hdfi.h which is a part of the distribution of HDF is required to be in the directory ${BASE_DIR}/src/include. The version of hdfi.h that is included with this distribution is probably unix specific.
bruce