1 # Local.rules - Site-Local definitions.
3 # ${XEMACS_PACKAGES_BASE} is defined in XEmacs.rules, and is always
4 # the full / rooted path to the directory where this "Local.rules"
5 # makefile is supposed to be. Don't override it here.
7 ##################### Begin settings that commonly need to be changed
9 # Path to XEmacs to use for byte compilation.
11 # Using SXEmacs is also possible, though not supported by the XEmacs
12 # maintainers. See 'BUILD_WITH_SXEMACS' below.
14 # (Double-quote path under native MS Windows if there are embedded spaces.)
15 XEMACS_BINARY = xemacs
17 # Are we running XEmacs 21.5 or greater? If set, this will generate
18 # custom-defines.el files for use with Custom (esp. the Custom menu), and
19 # use the new interface in autoload.el for generating auto-autoloads.el files.
21 # Ben has yet to commit the workspace that enables these new features,
22 # so I have defaulted this to 'off' until he does. SY.
26 # SXEmacs has _some_ 21.5 features, but not quite enough to build all
27 # the packages with XEMACS_21_5 set, so when building with SXEmacs,
28 # set BUILD_WITH_SXEMACS to 't' and leave XEMACS_21_5 unset.
31 # Should we build the Mule packages? Set to 't' if you do not have/want Mule.
35 # Following test, which would be performed by every makefile
36 # including XEmacs.rules, slows down the make process terribly
39 # From: Gunnar Evermann <ge204@eng.cam.ac.uk>
40 # Subject: building xemacs-pacakges on unix
41 # To: XEmacs Developers <xemacs-beta@xemacs.org>
42 # Date: 14 Oct 2000 12:28:44 +0100
44 # XEMACS_NATIVE_NT = \
45 # $(shell $(XEMACS) $(BATCH) \
46 # -eval "(princ (eq system-type 'windows-nt))")
48 # Therefore this has become a make variable instead:
50 # Set XEMACS_NATIVE_NT to 't' if you are building using a native
51 # Microsoft Windows version of XEmacs (not a Cygwin-built version).
52 # NOTE: You still need the Cygwin environment to build the packages!
53 # This only concerns how XEmacs itself was built.
57 # The directory tree under which the installed packages go. Under this
58 # directory will be directories xemacs-packages/ (non-Mule packages),
59 # mule-packages/ (Mule packages, if you built XEmacs with Mule,
60 # i.e. international, support), and maybe site-packages/ (packages you
61 # created yourself). If you are installing XEmacs normally, this should be
62 # <xemacs-root>/share/xemacs for XEmacs from 21.5 on and
63 # <xemacs-root>/lib/xemacs for XEmacsen before 21.5, where
64 # <xemacs-root> is the topmost-level directory under which everything
65 # is installed -- normally /usr/local, and set using the `--prefix'
66 # parameter to `configure'. See the INSTALL file.
68 XEMACS_INSTALLED_PACKAGES_ROOT = /usr/local/share/xemacs
69 # XEMACS_INSTALLED_PACKAGES_ROOT = /usr/local/lib/xemacs
71 # If you are developing XEmacs, you probably don't want to install the
72 # packages under /usr/local, which is where the stable, released version of
73 # XEmacs goes. Instead, we suggest a layout as described in the base
74 # README file of recent versions of XEmacs. In a nutshell, we suggest you
75 # put your source under /src/xemacs, and under this put the package sources
76 # in package-src/, and the installed packages in xemacs-packages/ and
77 # mule-packages/. If you do everything this way, you might want to set things as follows:
79 #XEMACS_INSTALLED_PACKAGES_ROOT = ${XEMACS_PACKAGES_BASE}/..
81 # which puts the xemacs-packages/ and mule-packages/ directories as sisters
82 # of the package-src/ directory, and you have to tell configure the
83 # location of the installed packages using `--package-path', something like
85 # configure --package-path=/src/xemacs/xemacs-packages;/src/xemacs/mule-packages ...
88 # When `t', a symlink tree will be built for running a live CVS
89 # checkout. Requires GNU `cp', and that you configure your XEmacs
90 # to use ${STAGING} in the package-path. Create the tree with `make
95 # If `t', the build process will build and install .html versions of the
96 # doc files. NOTE: texi2html and texi2any both issue complaints about a
97 # large number of files that pass `makeinfo' just fine. This doesn't
98 # prevent it from building the .html files, though.
101 ##################### End settings that commonly need to be changed
103 # How to actually run XEmacs.
105 # Under MS Windows, when you run a non-console-mode program, stdin and
106 # stdout don't normally point anywhere, even when you run the program from
107 # a console (e.g. a DOS window)! Hence the console-mode helper program
108 # lib-src/i.exe was written. Formerly, this was not needed when running
109 # XEmacs from a Cygwin program, but at some point around 2003-2004 the
110 # behavior of Cygwin was broken^H^H^H^H^H^Hchanged to match normal Windows
113 ifeq ($(XEMACS_NATIVE_NT),t)
114 XEMACS = $(dir $(XEMACS_BINARY))../lib-src/i $(XEMACS_BINARY)
116 XEMACS = $(XEMACS_BINARY)
119 # Flags to run XEmacs from Makefiles.
122 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)'
125 # Where to install the non-Mule packages, or where the symlink tree will
126 # go. You probably don't want to change this.
128 NONMULE_INSTALLED_PACKAGES_ROOT = ${XEMACS_INSTALLED_PACKAGES_ROOT}/xemacs-packages
131 # Where to install the Mule packages, or where the symlink tree will go.
132 # You probably don't want to change this.
134 MULE_INSTALLED_PACKAGES_ROOT = ${XEMACS_INSTALLED_PACKAGES_ROOT}/mule-packages
136 # Non-Mule packages or groups of packages to build/install. 'make bindist'
137 # doesn't look at this, it's used by 'make install'. You probably don't
138 # want to change this.
140 # The format for this is: pkg1 pkg2...
141 # e.g. xemacs-base bbdb
143 # Or you can use the symbol 'xemacs-packages' which means to build ALL
144 # the non-Mule packages.
145 NONMULE_PACKAGES = xemacs-packages
147 # Mule packages or groups of packages to build/install. 'make bindist'
148 # doesn't look at this, it's used by 'make install'. You probably don't
149 # want to change this. If you don't want any Mule packages, don't change
150 # this, instead set BUILD_WITHOUT_MULE above.
152 # The format for this is the same as for 'NONMULE_PACKAGES' except you
153 # can use the symbol 'mule-packages' to mean ALL Mule packages.
154 MULE_PACKAGES = mule-packages
156 PACKAGE_INDEX = package-index
158 #### Path to various programs
160 # Path to BSD install.
161 # INSTALL = ginstall -c
165 # Define to build tarfiles for installation/distribution
167 ifneq ('$(symlink)','t')
176 # if you run FreeBSD install the gtar package in archivers/gtar
177 # and use this option
181 # If this is set, then tar.bz2 packages will be created.
186 # Stuff tar should never archive
201 # path to texi2html or texi2any
204 ifeq ($(TEXI2HTML),texi2html)
205 TEXI2HTML_FLAGS = -split chapter
207 TEXI2HTML_FLAGS = --html --split=chapter
211 # path to texi2dvi, dvips, texi2pdf; If not defined, no conversion will
220 # If you are getting errors like this:
221 # cd texi && tex math-ref
222 # This is TeX, Version 3.14159 (Web2C 7.4.5)
223 # kpathsea: Running mktexfmt tex.fmt
224 # fmtutil: config file `fmtutil.cnf' not found.
225 # I can't find the format file `tex.fmt'!
226 # Then somehow you installed tex without installing all the library files.
227 # Go back to Cygwin setup, look under `publishing' and select all the
234 # If you are getting errors like this:
235 # cd preview/latex && \
236 # '\nonstopmode \input preview.drv' && \
237 # '\nonstopmode \input preview.drv' && \
238 # '\nonstopmode \input preview.drv'
239 # /bin/sh: \nonstopmode \input preview.drv: not found
240 # then check that latex is installed on your system and that you point
241 # to the correct location (or have it referenced in your PATH environment)
247 # Under Cygwin, you need to install the gettext-devel package under the
248 # `Devel' component to get this.
252 ifneq ('$(symlink)','t')
253 # path to GNU cp, use the latter if no GNU cp is available.
254 # use the latter option if you are running FreeBSD.
259 # This next one is for running in-place from a CVS checkout.
260 # NOTE: cp on FreeBSD does not have a --symbolic-link option
261 # so this will not work. You could try something like
262 # `pax -rw -l -p p', but this will create hard links rather than
265 RCOPY = cp --force --recursive --symbolic-link