+@item clean
+Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
+
+@item distclean
+Remove all created files.
+@end table
+
+@node Local.rules File, Creating Packages, Building Packages, Packages
+@comment node-name, next, previous, up
+@cindex local.rules
+@heading The Local.rules File:
+This file is used when building and installing packages from source. In
+the top level of the CVS module, @file{xemacs-packages}, contains the
+file, @file{Local.rules.template}. Simply copy that to
+@file{Local.rules} and edit it to suit your needs.
+
+These are the variables in 'Local.rules' that you will need to
+address.
+
+@table @var
+@item symlink =
+Set this to 't' if you want to do a "run in place".
+Setting this doesn't work well with 'make bindist'
+
+@item XEMACS_PACKAGES =
+This is where you set the normal packages that you
+want to install. eg:
+@example
+ XEMACS_PACKAGES = xemacs-packages/xemacs-base xemacs-packages/bbdb
+@end example
+
+@item XEMACS_STAGING = $@{XEMACS_PACKAGES_BASE@}/../Packages
+Set this to where you want normal packages to be
+installed to.
+
+@item PACKAGE_INDEX = package-index
+If you want the package-index file to have a different
+name, change this.
+
+@item BUILD_WITHOUT_MULE =
+Building from CVS defaults to building the Mule
+packages. Set this to 't' if you don't want/have Mule
+
+@item MULE_PACKAGES =
+Same as for 'XEMACS_PACKAGES' except you list the Mule
+packages you want to install here. eg:
+@example
+ MULE_PACKAGES = mule-packages/mule-base mule-packages/skk
+@end example
+
+@item MULE_STAGING = $@{XEMACS_PACKAGES_BASE@}/../Mule-Packages
+Set this to where you want Mule packages installed
+to. Note: 'make bindist' does not use this variable.
+
+@item XEMACS = xemacs
+If your XEmacs isn't in your path, change this.
+
+@item XEMACS_NATIVE_NT =
+Set this to 't' if you are building on WinNT.
+
+@item INSTALL = install -c
+The path to your BSD compatible install program.
+
+@item TAR = tar
+The path to your tar program
+
+@item BZIP2 =
+If you want bzip2 tarballs, set this.
+
+@item MAKEINFO = makeinfo
+The path to your makeinfo program
+@end table
+
+
+@node Creating Packages, Available Packages, Local.rules File, Packages
+@comment node-name, next, previous, up
+@cindex creating packages
+@heading Creating Packages:
+Creating a package from an existing Lisp library is not very difficult.
+
+In addition to the Lisp libraries themselves, you need a
+@file{package-info.in} file and a simple @file{Makefile}. The rest is
+done by @file{XEmacs.rules}, part of the packaging system
+infrastructure.
+
+@file{package-info.in} contains a single Lisp form like this:
+
+@example
+(name ; your package's name
+ (standards-version 1.1
+ version VERSION
+ author-version AUTHOR_VERSION
+ date DATE
+ build-date BUILD_DATE
+ maintainer MAINTAINER
+ distribution xemacs ; change to "mule" if MULE is needed
+ priority high
+ category CATEGORY
+ dump nil
+ description "description" ; a one-line description string
+ filename FILENAME
+ md5sum MD5SUM
+ size SIZE
+ provides (feature1 feature2) ; one for every `provides' form
+ requires (REQUIRES)
+ type regular
+))
+@end example
+
+You must fill in the four commented lines. The value of @code{name} is
+the name of your package as an unquoted symbol. Normally it is the name
+of the main Lisp file or principal feature provided. The allowed values
+for distribution are @code{xemacs} and @code{mule}. Write them as
+unquoted symbols. The @code{description} is a quoted Lisp string; use
+the usual conventions. The value for @code{provides} is a list of
+feature symbols (written unquoted). All of the features provided by
+libraries in your package should be elements of this list. Implementing
+an automatic method for generating the @file{provides} line is
+desirable, but as yet undone.
+
+The variables in upper-case are references to variables set in the
+@file{Makefile} or automatically generated. Do not change them; they
+are automatically filled in by the build process.
+
+The remaining lines refer to implementation constants
+(@code{standards-version}), or features that are unimplemented or have
+been removed (@code{priority} and @code{dump}). The @code{type} line is
+not normally relevant to external maintainers; the alternate value is
+@code{single-file}, which refers to packages consed up out of a number
+of single-file libraries that are more or less thematically related. An
+example is @code{prog-modes}. Single-file packages are basically for
+administrative convenience, and new packages should generally be created
+as regular packages.
+
+The @file{Makefile} is quite stylized. The idea is similar to an
+@file{Imakefile} or an @code{automake} file: the complexity is hidden in
+generic rules files, in this case the @file{XEmacs.rules} include file
+in the top directory of the packages hierarchy. Although a number of
+facilities are available for complex libraries, most simple packages'
+@file{Makefile}s contain a copyright notice, a few variable definitions,
+an include for @file{XEmacs.rules}, and a couple of standard targets.
+
+The first few @code{make} variables defined are @code{VERSION},
+@code{AUTHOR_VERSION}, @code{MAINTAINER}, @code{PACKAGE},
+@code{PKG_TYPE}, @code{REQUIRES}, and @code{CATEGORY}. All but one were
+described in the description of @file{package-info.in}. The last is an
+administrative grouping. Current categories include @code{standard},
+and @code{mule}.
+
+Next, define the variable @code{ELCS}. This contains the list of the
+byte-compiled Lisp files used by the package. These files and their
+@file{.el} versions will be included in the binary package. If there
+are other files (such as extra Lisp sources or an upstream
+@file{Makefile}) that are normally placed in the installed Lisp
+directory, but not byte-compiled, they can be listed as the value of
+@code{EXTRA_SOURCES}.
+
+The include is simply
+@example
+include ../../XEmacs.rules
+@end example
+
+The standard targets follow. These are
+
+@example
+all:: $(ELCS) auto-autoloads.elc
+
+srckit: srckit-alias
+
+binkit: binkit-alias
+@end example
+
+Other targets (such as Texinfo sources) may need to be added as
+dependencies for the @code{all} target. Dependencies for @code{srckit}
+and @code{binkit} (that is, values for @var{srckit-alias} and
+@var{binkit-alias}) are defined in @file{XEmacs.rules}. The most useful
+of these values are given in the following table.
+
+@table @var
+@item srckit-alias
+Usually set to @code{srckit-std}.
+
+@item binkit-alias
+May be set to @code{binkit-sourceonly}, @code{binkit-sourceinfo},
+@code{binkit-sourcedata}, or
+@code{binkit-sourcedatainfo}. @code{sourceonly} indicates there is
+nothing to install in a data directory or info directory.
+@code{sourceinfo} indicates that source and info files are to be
+installed. @code{sourcedata} indicates that source and etc (data) files
+are to be installed. @code{sourcedatainfo} indicates source, etc
+(data), and info files are to be installed.
+@end table
+
+Data files include things like pixmaps for a package-specific toolbar,
+and are normally installed in @file{etc/@var{PACKAGE_NAME}}. A few
+packages have needs beyond the basic templates. See @file{XEmacs.rules}
+or a future revision of this manual for details.
+
+@node Available Packages, , Creating Packages, Packages
+@comment node-name, next, previous, up
+@cindex available packages
+@cindex packages
+@heading Available Packages:
+This section lists the Lisp packages that are currently available from
+xemacs.org and it's mirrors. If a particular package that you are
+looking for isn't here, please send a message to the
+@email{xemacs-beta@@xemacs.org, XEmacs Beta list}.
+
+This data is up-to-date as of May 15, 2001.
+
+@subsection Normal Packages
+A very broad selection of elisp packages.
+
+@table @file
+@item Sun
+Support for Sparcworks.
+
+@item ada
+Ada language support.
+
+@item apel
+A Portable Emacs Library. Used by XEmacs MIME support.
+
+@item auctex
+Basic TeX/LaTeX support.
+
+@item bbdb
+The Big Brother Data Base
+
+@item build
+Build XEmacs using custom widgets.
+
+@item c-support
+Basic single-file add-ons for editing C code.
+
+@item calc
+Emacs calculator.
+
+@item calendar
+Calendar and diary support.
+
+@item cc-mode
+C, C++ and Java language support.
+
+@item cookie
+Spook and Yow (Zippy quotes).
+
+@item crisp
+Crisp/Brief emulation.
+
+@item debug
+GUD, gdb, dbx debugging support.
+
+@item dired
+The DIRectory EDitor is for manipulating, and running commands on
+files in a directory.
+
+@item edebug
+A Lisp debugger.
+
+@item ediff
+Interface over patch.
+
+@item edit-utils
+Single file lisp packages for various XEmacs goodies. Load this and
+weed out the junk you don't want.
+
+@item edt
+DEC EDIT/EDT emulation.
+
+@item efs
+Treat files on remote systems the same as local files.
+
+@item eicq
+ICQ Client developed and tested on Linux x86;
+only supported on that platform
+
+@item eieio
+Enhanced Implementation of Emacs Interpreted Objects.
+
+@item elib
+Portable Emacs Lisp utilities library.
+
+@item emerge
+Another interface over patch.
+
+@item eshell
+Command shell implemented entirely in Emacs Lisp.
+
+@item eterm
+Terminal emulator.
+
+@item eudc
+Emacs Unified Directory Client (LDAP, PH).
+
+@item footnote
+Footnoting in mail message editing modes.
+
+@item forms
+Forms editing support (obsolete, use the built-in Widget instead).
+
+@item frame-icon
+Provide a WM icon based on major mode.
+
+@item fsf-compat
+FSF Emacs compatibility files.
+
+@item games
+Tetris, Sokoban, and Snake.
+
+@item gnats
+XEmacs bug reports.
+
+@item gnus
+The Gnus Newsreader and Mailreader.
+
+@item hm--html-menus
+HTML editing.
+
+@item idlwave
+Editing and Shell mode for the Interactive Data Language.
+
+@item igrep
+Enhanced front-end for Grep.
+
+@item ilisp
+Front-end for Inferior Lisp.
+
+@item ispell
+Spell-checking with ispell.
+
+@item jde
+Java language and development support.
+
+@item mail-lib
+Fundamental lisp files for providing email support.
+
+@item mailcrypt
+Support for messaging encryption with PGP.
+
+@item mew
+Messaging in an Emacs World.
+
+@item mh-e
+Front end support for MH.
+
+@item mine
+Minehunt.
+
+@item misc-games
+Other amusements and diversions.
+
+@item net-utils
+Miscellaneous Networking Utilities. This is a single-file package and
+files may be deleted at will.
+
+@item os-utils
+Miscellaneous single-file O/S utilities, for printing, archiving,
+compression, remote shells, etc.
+
+@item pc
+PC style interface emulation.
+
+@item pcl-cvs
+CVS frontend.
+
+@item pcomplete
+Provides programmatic completion.
+
+@item prog-modes
+Miscellaneous single-file lisp files for various programming languages.
+
+@item ps-print-nomule
+Old, but no-Mule safe ps-print.
+
+@item psgml
+Validated HTML/SGML editing.
+
+@item reftex
+Emacs support for LaTeX cross-references, citations.
+
+@item rmail
+An obsolete Emacs mailer. If you do not already use it don't start.
+
+@item scheme
+Front-end support for Inferior Scheme.
+
+@item semantic
+Semantic bovinator.
+
+@item sgml
+SGML/Linuxdoc-SGML editing.
+
+@item sh-script
+Support for editing shell scripts.
+
+@item slider
+User interface tool.
+
+@item sounds-au
+XEmacs Sun sound files.
+
+@item sounds-wav
+XEmacs Microsoft sound files.
+
+@item speedbar
+Provides a separate frame with convenient references.
+
+@item strokes
+Mouse enhancement utility.
+
+@item supercite
+An Emacs citation tool. Useful with all Emacs Mailers and Newsreaders.
+
+@item texinfo
+XEmacs TeXinfo support.
+
+@item text-modes
+Various single file lisp packages for editing text files.
+
+@item textools
+Single-file TeX support.
+
+@item time
+Display time & date on the modeline.
+
+@item tm
+Emacs MIME support. Not needed for Gnus >= 5.8.0
+
+@item tooltalk
+Support for building with Tooltalk.
+
+@item tpu
+DEC EDIT/TPU support.
+
+@item vc
+Version Control for Free systems.
+
+@item vc-cc
+Version Control for ClearCase. This package will shortly be
+replaced with clearcase.el
+
+@item vhdl
+Support for VHDL.
+
+@item view-process
+A Unix process browsing tool.
+
+@item viper
+VI emulation support.
+
+@item vm
+An Emacs mailer.
+
+@item w3
+A Web browser.
+
+@item xemacs-base
+Fundamental XEmacs support. Install this unless you wish a totally
+naked XEmacs.
+
+@item xemacs-devel
+XEmacs Lisp developer support. This package contains utilities for
+supporting Lisp development. It is a single-file package so it may be
+tailored.
+
+@item xslt-process
+A minor mode for (X)Emacs which allows running an XSLT processor on a
+buffer.
+
+@item zenirc
+ZENIRC IRC Client.
+@end table
+
+@subsection Mule Support (mule)
+
+MULti-lingual Enhancement. Support for world scripts such as
+Latin, Arabic, Cyrillic, Chinese, Japanese, Greek, Hebrew etc.
+To use these packages your XEmacs must be compiled with Mule
+support.
+
+@table @file
+@item edict
+Lisp Interface to EDICT, Kanji Dictionary.
+
+@item egg-its
+Wnn (4.2 and 6) support. SJ3 support. Must be installed prior to
+XEmacs build.
+
+@item leim
+Quail. Used for everything other than English and Japanese.
+
+@item locale
+Used for localized menubars (French and Japanese) and localized splash
+screens (Japanese).
+
+@item lookup
+Dictionary support. (This isn't an English dictionary program)
+
+@item mule-base
+Basic Mule support. Must be installed prior to building with Mule.
+
+@item skk
+Another Japanese Language Input Method. Can be used without a
+separate process running as a dictionary server.