   > MkManifest - Version 1.00 (based on Mk!!Files 4.00)

   by Thomas Harris <t.harris@iname.com>
    & Musus Umbra <musus@argonet.co.uk>

   ----------------------------------------------------------------------------
   (c) 1999, all rights reserved.  No warranty, express or implied, is
   provided.  Under no circumstances can the authors be held responsible
   for any loss/damage sustained as a result of the use, misuse, or inability
   to use this program.  Bug reports are, however, welcome.
   ----------------------------------------------------------------------------

   The authors are perfectly aware that this program would be better in a
   different language, probably C, but Thomas has been using it as a coding
   exercise, and it's grown somewhat from when we started.

   Damn those feeping creatures... <g>

   Note that unlike Mk!!Files, MkManifest is specifically intended for
   use with Angband variants that use version 1.25 (or later) of my
   front-end code.

   The purpose of MkManifest is to scan the CSD (and all subdirectories)
   and build a list of those files present which should form the release
   archive for an angband variant (called !<foo>band.manifest/txt).

   Two lists of paths/objects are used to decide what gets included in the
   manifest/txt list.  One is a list of paths/objects to be excluded
   from the manifest (ie. anything explicitly named, or beneath any directories
   named will not be included in the file).

   The other list is of exceptions to the exclusions list.
   This makes it possible to exclude all bar certain files from directories,
   for example.  As supplied, only the "remove/me" files that brain-dead
   versions of (PK)Zip require in order to preserve otherwise
   empty directories are included in this way.

   "Junk" and "NotRelease" are also excluded:  It's a good idea when
   experimenting with a port to put all your "junk", etc.  in these dirs -
   that way it won't get picked up by this program :)

   The point of it all?  Well, the manifest/txt file produced is suitable for
   feeding to Zip, thus:
      *zip -uq FooBand.zip -@ <!Fooband.Manifest/txt
   and is also required by the !RunBand program (which uses it to check
   for mangled/tuncated filenames).
