As from December 1994 the Nelsis/R3 tree for OCEAN stores its machine-dependend
files (like object files, archives and executables) in separate directories.
As a result you can share the tree among computers of a different brand via
--for instance-- NFS.

As an example, the following directory structure represents a tree that is
being shared among four computer platforms, which are identified by the strings
"sun4_4" (SunOs-4.x), "sun4_5" (Sun/Solaris), "PA-RISC1.1_9" (Hewlett-Packard
series 700 and 800) and "i486_Linux" (386 or 486 PCs running Linux).

  ---cacd---src---libddm---objects---sun4_4
        |     |                  |---sun4_5
        |     |                  |---PA-RISC1.1_9
        |     |                  |---i486_Linux
        |     |
        |     |---addproj--objects---sun4_4
        |     |                  |---sun4_5
        |     |                  |---PA-RISC1.1_9
        |     |                  |---i486_Linux
        |     :
        |     :   ...       ...
        |     |
        |     |---xsls-----objects---sun4_4
        |                        |---sun4_5
        |                        |---PA-RISC1.1_9
        |                        |---i486_Linux
	|---lib---sun4_4
        |     |---sun4_5
	|     |---PA-RISC1.1_9
	|     |---i486_Linux
	|     |---include
        |     |---process
	|
	|---bin---sun4_4
              |---sun4_5
	      |---PA-RISC1.1_9
	      |---i486_Linux

You don't have to create the subdirectories yourself, this is automatically
taken care of by the installation procedure "make install".

Install the cacd tree as follows (assuming a csh here):

     [1] setenv ICDPATH /my/path/to/cacd ; setenv MACHINE my-machine
     [2] setenv X11INCL /path/to/X11/includes ; setenv X11LIB /path/to/X11/libs
     [3] setenv GNU 1
     [4] cd $ICDPATH/src
     [5] make install

This builds around 50 executables in $ICDPATH/bin/$MACHINE, six libraries in
$ICDPATH/lib/$MACHINE and puts some stuff in $ICDPATH/lib/$MACHINE/sls and
$ICDPATH/lib/include. The environment variables X11INCL and X11LIB may be
ignored if you have your X11 stuff installed in a "classical" place, like
/usr/include/X11 and /usr/lib. If you do not have the GNU compiler, then
unsetenv GNU.

If building the executable "foobar" fails, you may have to fix the file
"sourcethis.sh" in the directory $ICDPATH/src; common problems are platform
specific libraries that have to be included in the list of libraries to link
with. The file sourcethis.sh contains a case-switch to set this sort of things
for each platform, but you may need to adapt it to your specific
situation. After an attempt at fixing the file, you can test it by typing (from
$ICDPATH/src):

    % make foobar

If you feel like debugging the foobar program, you can type:

    % make foobar TRG=clean
    % make foobar CCFLAG=-g

If it works, you can continue compiling and installing the tree by typing

    % make install

If you only want to install the program foobar, you type

   % make foobar TRG=install

