V:lib

V:lib contains everything to build all derivatives of the
module_lib.sfd files, plus the source code to the support routines in
amiga.lib and our other libs and startup modules.  The make process
actually is Sun based, but some of the support routines are
Amiga-compiled, and the Sun makefile just gathers the .o files,
without rebuilding them.  The Sun makefile is imperfect in that it
has ownership problems.  That is to say, it doesn't pre-delete files
before copying them, and you can't overwrite a file owned by someone
else in your group.  Currently, all such files are chown'd to peter so
I can make the build happen.  In the short term, chown everything I
own to the new person responsible (with the exception of
V:lib/sfd/intuition_lib.sfd).  In the long term, fix the makefile (or
better, port it native).

The V:lib/sfd directory contains the sfd files from each module.  See
V:lib/sfd/Makefile for directions on adding a module.  You'll have
three Makefiles to edit and two directories to create when adding a
module.  V:lib/sfd/RAM contains amiga.lib stub stuff.  V:lib/sfd/ROM
contains rom.lib stub stuff.  V:lib/sfd/LVO contains small.lib (LVO
values only -- no stubs) stuff.

NB:  It's quite typical that when module owners change their SFD
files, they don't test them.  This means that the maker of V:lib/sfd
is the first one to discover the syntax errors, and has to beat up the
module owner to fix it.

NB 2:  If I make some kind of general change to the SFD utility, I'd
like to run all the sfd files through it, instead of just the modified
ones.  I usually do this by going superuser and doing "touch *.sfd".
It'd be nice if I didn't have to go superuser.  The old "make clean"
rule touched autofd/*.fd, which used to work because formerly the .fd
file was the source to it all (now it's the .sfd).  Also, there was
some ownership difference which meant that these files were always
touchable.

The V:lib/csupport directory contains directories full of hand-written
code to provide the amiga.lib support functions for the different
modules that require it, including exec, Intuition, ARexx, and
Commodities.  Most of the source code in here is actually compiled or
assembled on Amigas, and the Sun Makefile just grabs the .o files.
Some stuff is probably still Sun-assembled/compiled.  Pay careful
attention to how amiga_lib.doc is built here.  It's the most
complicated doc file to build, and I had to fix some bugs in Sun
Makemeta in order to make it work out.

V:lib/version contains code and elements to embed a version string
(of matching version) into amiga.lib, rom.lib, and small.lib.

V:lib/hardware contain the hardware definitions (AbsExecBase and
Custom) for amiga.lib et al.

V:lib/debug and V:lib/ddebug contain the code to debug.lib (serial
kprintf and friends) and ddebug.lib (parallel version of same).

V:lib/autofd is obsolete, I think.  Recall that the .fd file
used to be the source to all of this.  This is where module
owners placed their fd files.  Now the .sfd file is the source,
and the .fd file is a derivative, not placed here.  That's why
this directory is empty.  I don't know why it wasn't deleted.
