# DIST: make most of the changes to this file you might want, so try
# DIST: that first.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001 Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
# make all to compile and build Emacs.
# make install to install it.
# make TAGS to update tags tables.
# Subdirectories to make recursively. `lisp' is not included
# because the compiled lisp files are part of the distribution
# and you cannot remake them without installing Emacs first.
-SUBDIR = lib-src src leim
+# leim is not included because it needs special handling.
+SUBDIR = lib-src src
# The makefiles of the directories in $SUBDIR.
SUBDIR_MAKEFILES = lib-src/Makefile man/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile leim/Makefile
COPYDIR = ${srcdir}/etc ${srcdir}/lisp
COPYDESTS = ${etcdir} ${lispdir}
-all: ${SUBDIR}
+all: ${SUBDIR} leim
removenullpaths=sed -e 's/^://g' -e 's/:$$//g' -e 's/::/:/g'
${srcdir}/move-if-change epaths.h.$$$$ src/epaths.h
# For parallel make, src should be build before leim.
-leim: src
+# "export PARALLEL=0" is for SGI's Make, to prevent it from
+# running more than 1 process in the leim directory, especially for
+# the $TIT files there.
+leim: src ${SUBDIR_MAKEFILES} FRC
+ (export PARALLEL; PARALLEL=0; cd $@; $(MAKE) all $(MFLAGS) \
+ CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
+ LDFLAGS='${LDFLAGS}' MAKE='${MAKE}')
src: lib-src FRC
lib-src: FRC src/config.stamp
-.RECURSIVE: ${SUBDIR}
+.RECURSIVE: ${SUBDIR} leim
${SUBDIR}: ${SUBDIR_MAKEFILES} FRC
cd $@; $(MAKE) all $(MFLAGS) \
chmod a+rx $${subdir} ; \
rm -rf $${subdir}/RCS ; \
rm -rf $${subdir}/CVS ; \
+ rm -f $${subdir}/.cvsignore ; \
rm -f $${subdir}/\#* ; \
rm -f $${subdir}/.\#* ; \
rm -f $${subdir}/*~ ; \
-chmod -R a+r ${datadir}/emacs ${COPYDESTS} ${infodir}
thisdir=`/bin/pwd`; \
cd ${srcdir}/etc; \
- for page in emacs etags ctags ; do \
+ for page in emacs etags ctags gfdl ; do \
(cd $${thisdir}; \
${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${man1dir}/$${page}${manext}; \
chmod a+r ${man1dir}/$${page}${manext}); \
esac ; \
fi ; \
done
- (cd ${infodir} && rm -f cl* dired-x* ediff* emacs* forms* gnus* info* mh-e* sc* vip*)
+ (cd ${archlibdir} && rm -f fns-*)
+ -rm -rf ${libexecdir}/emacs/${version}
+ (cd ${infodir} && rm -f cl* ada-mode* autotype* ccmode* ebrowse* efaq* eshell* eudc* idlwave* message* pcl-cvs* reftex* speedbar* widget* woman* dired-x* ediff* emacs* forms* gnus* info* mh-e* sc* vip*)
(cd ${man1dir} && rm -f emacs.1 etags.1 ctags.1)
(cd ${bindir} && rm -f emacs-${version} $(EMACS))
### the coding standards seem to come from. It's like distclean, but
### it deletes backup and autosave files too.
extraclean:
- for i in ${SUBDIR}; do (cd $$i; $(MAKE) $(MFLAGS) extraclean); done
+ for i in ${SUBDIR} leim; do (cd $$i; $(MAKE) $(MFLAGS) extraclean); done
${top_distclean}
-rm -f config-tmp-*
-rm -f *~ \#*
### special emacs executable is built from Lisp sources, which is then
### used to compile Lisp files. The last step is a "normal" make.
-bootstrap: clean bootstrap-lisp-1 bootstrap-src bootstrap-lisp clean all info
+.PHONY: bootstrap bootstrap-lisp-1 boostrap-src bootstrap-lisp bootstrap-clean
+
+bootstrap: clean bootstrap-lisp-1 bootstrap-src bootstrap-lisp bootstrap-clean all info
bootstrap-lisp-1:
(cd lisp; $(MAKE) $(MFLAGS) bootstrap-clean)
bootstrap-src:
(cd src; $(MAKE) $(MFLAGS) bootstrap)
+
+bootstrap-clean:
+ (cd src; $(MAKE) $(MFLAGS) clean)