[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. `Makefile' targets

The following targets can be used when running make to build the packages:

`mostlyclean'
Removes any documentation files that have been processed by TeX.

`clean'
Does a mostlyclean, plus removes generated postscript and dvi files. Also removes any generated .elc files, along with the normal .elc files in the package and HTML and .info files.

`distclean'
Use this when preparing a distribution. It kills anything that can be rebuilt.

`extraclean'
Does a distclean and also removes any backup files (`*~') and `core' files.

`package-info'
Creates the `package-info' file from the `package-info.in' and writes an entry in the `package-index' file.

`bindist'
Builds the package, including any Texinfo documentation (info format), writes an entry into the `package-index' file and builds a tarball of the package. Also writes an entry into `setup-packages.ini' which is later used in the creation of netinstaller's `setup.ini'.

`install'
Builds and installs a package

`install-only'
Doesn't build anything, just installs it.

`autoloads'
Generate the package's `auto-autoloads.el' file.

`binkit'
Creates the directories needed for installation and copies the files there. Basically this is an alias for install-only.

`html'
Builds the HTML versions of the documentation.

`compile'
Does most of the work. Builds the elcs, infos at a minimum.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.0.1 The targets that most people would be interested in would be:

The Local.rules File:

This file in `packages' provides the XEmacs Packaging System with information about the local configuration and environment. To create `Local.rules', simply copy `Local.rules.template' from that directory to `Local.rules' and edit it to suit your needs.

These are the variables in `Local.rules' that you may need to provide values for:

`XEMACS'
The name (and path if needed) of the XEmacs binary to use for building the packages. The default is xemacs.

`XEMACS_21_5'
This will enable some, as yet, unimplemented features in XEmacs 21.5 and above. For now leave this blank (the default) regardless of the XEmacs version you are using.

`BUILD_WITHOUT_MULE'
Set this to `t' if you are using a non-Mule XEmacs. The default is that this variable is not set (blank) which means to build with Mule.

`XEMACS_NATIVE_NT'
Set this to `t' if you are using a native Microsoft Windows build of XEmacs (not a Cygwin build) to build the packages. N.B. To Windows users, you still need the Cygwin environment to actually build the packages.

`XEMACS_INSTALLED_PACKAGES_ROOT'
Set this to the root of where you want the packages to be installed. Under this directory will hang `xemacs-packages' and `mule-packages'. See NONMULE_INSTALLED_PACKAGES_ROOT and MULE_INSTALLED_PACKAGES_ROOT. The default for this is `/usr/local/lib/xemacs'. Which may not be what you want if you are developing XEmacs. To quote the comments in `Local.rules.template':

If you are developing XEmacs, you probably don't want to install the packages under /usr/local, which is where the stable, released version of XEmacs goes. Instead, we suggest a layout as described in the base README file of recent versions of XEmacs. In a nutshell, we suggest you put your source under /src/xemacs, and under this put the package sources in package-src/, and the installed packages in xemacs-packages/ and mule-packages/. If you do everything this way, you might want to set things as follows:

XEMACS_INSTALLED_PACKAGES_ROOT = ${XEMACS_PACKAGES_BASE}/..

which puts the xemacs-packages/ and mule-packages/ directories as sisters of the package-src/ directory, and you have to tell configure the location of the installed packages using `--package-path', something like

configure --package-path=/src/xemacs/xemacs-packages;/src/xemacs/mule-packages

`symlink'
The default is unset (blank). If you set this to `t' then make install will create a symlink farm of the installed packages under XEMACS_INSTALLED_PACKAGES_ROOT. Obviously, for this to work, your system has to support symbolic links. This is as close as you can get to running in place for the packages.

`NONMULE_INSTALLED_PACKAGES_ROOT'
This is where the non-Mule packages get installed to. The default is `${XEMACS_INSTALLED_PACKAGES_ROOT}/xemacs-packages'.

`MULE_INSTALLED_PACKAGES_ROOT'
This is where the Mule packages get installed to. The default is `${XEMACS_INSTALLED_PACKAGES_ROOT}/mule-packages'.

`NONMULE_PACKAGES'
A whitespace separated list of non-Mule packages to build/install.

 
NONMULE_PACKAGES = bbdb gnus xemacs-base prog-modes

The value for this variable can also be the symbol `xemacs-packages', which means to build/install all of the non-Mule packages. The default is `xemacs-packages'.

`MULE_PACKAGES'
A whitespace separated list of Mule packages to build/install.

 
MULE_PACKAGES = mule-base leim locale

The value for this variable can also be the symbol `mule-packages', which means to build/install all of the Mule packages. The default is `mule-packages'.

`PACKAGE_INDEX'
The name of the package-index file. The default is `package-index' and you probably don't need to worry about changing it.

`INSTALL'
The path to a BSD compatible install program. The default is install -c.

`TAR'
The path to GNU/tar. The default is tar.

`BZIP2'
The path to the bzip2 compression program. The default is unset (blank). If this is set `.tar.bz2' archives will be built in addition to the `.tar.gz' archives.

`EXCLUDES'
For things that you don't want to go into the package tarballs. It takes the same format as GNU/tar's --exclude option. The default is:

 
EXCLUDES =					\
	--exclude 'CVS'				\
	--exclude 'RCS'				\
	--exclude 'SCCS'			\
	--exclude '*~'				\
	--exclude '*.orig'			\
	--exclude '*.rej'			\
	--exclude '.\#*'

`VANILLA'
Set to the XEmacs command line option that forces running in vanilla mode. The default is `-vanilla'. You wouldn't ever need to alter this.

`BATCH'
How to put XEmacs into batch mode. It also sets a couple of other things and in the normal course of events you wouldn't need to alter this from the default which is:

 
BATCH = $(VANILLA) -batch -eval \
        '(setq stack-trace-on-error t \
               load-always-display-messages t \
               load-ignore-out-of-date-elc-files t \
               load-show-full-path-in-messages t)'

`MAKEINFO'
The path to makeinfo. The default is `makeinfo'

`INSTALL_HTML'
Set this to `t' if you want to install HTML versions of the Texinfo documentation. The default is unset (blank).

`TEXI2HTML'
The path to the program that can convert Texinfo source to HTML. The default is texi2html.

`TEXI2DVI'
The path to the program that can convert Texinfo source to DVI. The default is texi2dvi

`DVIPS'
The path to the program that can convert DVI to Postscript. The default is dvips

`TEXI2PDF'
The path to the program that can convert Texinfo source to PDF format. The default is texi2pdf.

`TEX'
The path to TeX. The default is tex

`MSGFMT'
The path to msgfmt. The default is msgfmt

`RCOPY'
The path to your copy command (GNU cp). The default is dependent on whether or not symlink is set (`t').

If symlink is unset (blank), RCOPY's default is cp -af. If symlink is set (`t'), RCOPY's default is cp --force --recursive --symbolic-link.

It should be noted that in most cases the defaults should be fine. Most people will probably only need to alter:


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by XEmacs Webmaster on August, 3 2012 using texi2html