Building Grendel:

You no longer have to set a CLASSPATH environment variable to build Grendel successfully. Just 
follow the instructions below and you should be up and running pretty quickly.

1. Make sure you have the required (external) packages (see README.libs).  
2. Copy the jars to the extlib directory. With OROMatcher, you'll have to create the jar yourself
   from the binaries in the OROMatcher distribution. To do this, unpack the OROMatcher distribution
   and cd to the top directory, then:
	jar cvf OROMatcher.jar com
   Copy the resulting OROMatcher.jar to the extlib directory in here.
3. Type 'make' and go get a cup of coffee or something. Grendel takes a little while to build.
4. Type 'make resources' to copy the application resources to the right locations in the binary
   tree.
5. Binaries and application resources will now be in dist/classes.
6. Type 'make run' and test that Grendel works. If everything built successfully, it should.
7. If you want to make an executable jar to package up all the application's classes (minus the
   external libraries), type 'make jar'. There is a manifest header file in dist/classes which sets
   the main class so the Java VM can find it. You'll have to take care of setting up the class-
   path if you want to run Grendel from the jar. Once you've done that, you can type:
	java -jar dist/classes/Grendel.jar 
   and it should run Grendel for you.
8. To clean out the dist/classes directory of all build products, type 'make clean'.

NOTE TO MAC USERS:
We are no longer supporting JDK 1.1.x, so Grendel will not run on MacOS 9.x or earlier. You'll have
to upgrade to Mac OS X if you want to run Grendel. Support for building with Project Builder is 
forthcoming. Please note also that the application settings in Project Builder (especially the
MRJAppBuilder related settings) should NOT be changed without a VERY compelling reason. Changing 
these settings may cause Grendel to fail to run in your particular environment. The creator code 
'GRen' is registered with Apple, so please don't change that setting. If you want to use Icon
Composer to change the application icons to something you like better than an envelope, go ahead.
You'll find the Project Builder project and resource files in PBProj/Grendel.pbproj and 
PBProj/Grendel.icns. Project Builder will put the build products in PBProj/build. You can double-
click Grendel in the Finder to launch Grendel. Note that I'm still working on figuring out how to 
get Project Builder to copy the jars from extlib into the right place in the app bundle, so if you
get a "NoClassDefFound" exception at startup (you'll see it if you run Grendel from within Project 
Builder after building it), you'll need to use Terminal to copy the jars into 
Grendel.app/Contents/Resources/Java/ , at least for now.
 
NOTE TO ALL USERS/DEVELOPERS:
If you add directories, copy one of the Makefiles from a neighbouring directory to use as a 
template for your Makefiles. This will help ensure that you have all the right things set up in
your Makefiles for your new modules to build correctly. If you add sources to existing directories,
be sure to add the source file names to the SOURCES list in that directory's Makefile. If you add
new external library dependencies for a new module you're contributing, be sure to add the new 
jar to the LIBS definition in rules.mk, then check rules.mk in after you've verified your build. 
Also be sure to add the new external library to README.libs so everyone knows about it.

If you must edit any of the Makefiles to make changes specific to your environment, but not 
generally useful to everyone, please, please, PLEASE DO NOT check the Makefiles in. You should
actually have no need to edit the Makefiles as they are currently, unless you really truly
cannot copy the required jars to extlib (which should never be the case).

Happy haquing!
--Jeff

