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