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

4. ‘Makefile’ targets

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


Removes any documentation files that have been processed by TeX.


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.


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


Does a distclean and also removes any backup files (‘*~’) and ‘core’ files.


Creates the ‘package-info’ file from the ‘package-info.in’ and writes an entry in the ‘package-index’ file.


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’.


Builds and installs a package


Doesn’t build anything, just installs it.


Generate the package’s ‘auto-autoloads.el’ file.


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


Builds the HTML versions of the documentation.


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:


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


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.


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.


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.


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:


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


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.


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


This is where the Mule packages get installed to. The default is ‘${XEMACS_INSTALLED_PACKAGES_ROOT}/mule-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’.


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’.


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


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


The path to GNU/tar. The default is tar.


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.


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 '.\#*'

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.


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)'

The path to makeinfo. The default is ‘makeinfo


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


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


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


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


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


The path to TeX. The default is tex


The path to msgfmt. The default is msgfmt


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 Aidan Kehoe on December 27, 2016 using texi2html 1.82.