2.1 -- Installation: Hermes source code is available in two compressed files (HermesGroup.tar and HermesExport.tar). This release remains Unix centric -- Present make-file target programming allows for compilation under Sun OS4 and Solaris operating systems via the Free Software Foundation's Gnu compiler. Compilation under other Unix platforms may require modifying default compilation flags located in the global macro file, make.inc.
The group file, HermesGroup.tar, contains source code for the current Hermes engine and ALL domains currently supported within the University of Maryland's (UMD) Laboratory for Integrated Knowledge Systems (LINKS) group. It is not available for general public release.
The export file, HermesExport.tar, contains a subset of the source code available in the Group file. As some internal UMD domains, such as the face recognition domain, include proprietary information not available to the general public, we must omit certain domains from the general source code release.
2.2
-- Source setup and extraction: Create an appropriate directory schema
for the Hermes source code and executables on the target machine.
Fig. 2-1 shows the user changing to their "home" directory, creating the
Hermes1-0 directory, creating the Hermes1-0/bin directory,
copying the tar file from a cross mounted directory
(/fs/tarski3/demo/Hermes), and finally unpacking the Hermes
source code via the Unix tar command.
2.3
-- Recursed directory structure(s) and notable files. Fig. 2-2 lists
the installation directory following the unpack command execution (from
Fig. 2-1); Hermes source code recurses to the
~/Hermes1-0/source subdirectory and Hermes executables
install in the ~/Hermes1-0/bin subdirectory.
2.3.1 -- The source directory: Fig. 2-3 lists the installed source
code directory. The make.inc file (highlighted) defines macros
and constants used commonly throughout the Hermes module make-files.
Define system settings, such as compiler invocation macros and target user
directories in the make.inc file. The h-options.mac
file contains additional macros, such as debug switches, for the current
compilation process.
2.3.2 -- The source/interfaces subdirectory: Fig. 2-4 lists the
master Hermes makefile and code for all defined Hermes
front-ends (such as xHermes, Hermes, rcall,
webHermes, and more).
2.4.1 -- Edit the master macro file (source/make.inc) to reflect the installed Hermes environment (see Fig. 2-5).
2.4.2 -- Change to the source/interfaces directory and read the build notes listed in the makefile header (see Fig. 2-6 below).
2.4.3 -- Rewrite the source/h-options.mac file as necessary by invoking the makefile for the appropriate target (see highlighted option targets in Fig. 2-6).
2.4.4
*** (Original) -- Execute the makefile for the desired interface target (i.e.
"make xHermes").
*** Update (26 Mar 98) -- The WebHermes interface directory (source/interfaces) contains front-end source code for all defined Hermes interfaces. These front-ends include the original Hermes logical interface (built via "make hermes"), as well as the X-Windows logical interface XHermes ("make xhermes"), the Hermes remote mediator server pair RHermes and RHermes2 ("make rhermes", "make rhermes2"), the Hermes remote call server pair RCall and RCall2 ("make rcall", "make rcall2"), the CGI script generator WebHermes ("make webhermes"), the X-Windows text viewer XText ("make xtext"), and the X-Windows route plan viewer XRoute ("make xroute").
NOTE: As documented in the makefile header (see Fig. 2-6), for each of these front-ends there exists several "subflavors" depending on the actual target requested. For example:
"make xhermes" invokes the SunOS 4 "Export" XHermes interface
(xhermes) compilation;
It does NOT include all coded
domains.
"make sxhermes" invokes the Solaris 2.5 "Export" XHermes
interface xhermes) compilation;
It does NOT include all
coded domains.
"make gxhermes" invokes the SunOS 4 "Group" XHermes interface
(gxhermes) compilation;
It includes ALL the coded
domains.
"make sgxhermes" invokes the Solaris 2.5 "Group" XHermes
interface (gxhermes) compilation;
It includes ALL the
coded domains.
The same Group and Solaris target modifer flags apply to the original character interface Hermes, the web-interface WebHermes, the remote servers RHermes2, and RCall2, as well as other target variations; Consult the makefile header for specific target/flag information.