1. xemacs
  2. XEmacs

Source

XEmacs / Makefile.in

Diff from to

File Makefile.in

  • Ignore whitespace
-# DIST: This is the distribution Makefile for XEmacs.  configure can
-# DIST: make most of the changes to this file you might want, so try
-# DIST: that first.
+## DIST: This is the distribution Makefile for XEmacs.  configure can
+## DIST: make most of the changes to this file you might want, so try
+## DIST: that first.
 
-# This file is part of XEmacs.
+## This file is part of XEmacs.
 
-# XEmacs 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.
+## XEmacs 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.
 
-# XEmacs 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.
+## XEmacs 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 XEmacs; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+## You should have received a copy of the GNU General Public License
+## along with XEmacs; 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 XEmacs.
-# make install	to build and install it.
-# make install-only	to install after a previous complete build
-# make TAGS	to update tags tables.
-#
-# make clean  or  make mostlyclean
-#      Delete all files from the current directory that are normally
-#      created by building the program.	 Don't delete the files that
-#      record the configuration.  Also preserve files that could be made
-#      by building, but normally aren't because the distribution comes
-#      with them.
-#
-#      Delete `.dvi' files here if they are not part of the distribution.
-#
-# make distclean
-#      Delete all files from the current directory that are created by
-#      configuring or building the program.  If you have unpacked the
-#      source and built the program without creating any other files,
-#      `make distclean' should leave only the files that were in the
-#      distribution.
-#
-# make realclean
-#      Delete everything from the current directory that can be
-#      reconstructed with this Makefile.  This typically includes
-#      everything deleted by distclean, plus more: C source files
-#      produced by Bison, tags tables, info files, and so on.
-#
-# make extraclean
-#      Still more severe - delete backup and autosave files, too.
+## make all	to compile and build XEmacs.
+## make install	to build and install it.
+## make install-only	to install after a previous complete build
+## make TAGS	to update tags tables.
+
+## make clean  or  make mostlyclean
+##      Delete all files from the current directory that are normally
+##      created by building the program.	 Don't delete the files that
+##      record the configuration.  Also preserve files that could be made
+##      by building, but normally aren't because the distribution comes
+##      with them.
+
+##      Delete `.dvi' files here if they are not part of the distribution.
+
+## make distclean
+##      Delete all files from the current directory that are created by
+##      configuring or building the program.  If you have unpacked the
+##      source and built the program without creating any other files,
+##      `make distclean' should leave only the files that were in the
+##      distribution.
+
+## make realclean
+##      Delete everything from the current directory that can be
+##      reconstructed with this Makefile.  This typically includes
+##      everything deleted by distclean, plus more: C source files
+##      produced by Bison, tags tables, info files, and so on.
+
+## make extraclean
+##      Still more severe - delete backup and autosave files, too.
 
 SHELL = /bin/sh
 @SET_MAKE@
 
-# ==================== Things `configure' Might Edit ====================
+## ==================== Things `configure' Might Edit ====================
 
 CC=@CC@
 CPP=@CPP@
 LN_S=@LN_S@
 CFLAGS=@CFLAGS@
 YACC=@YACC@
+pwd=/bin/pwd
+RM=rm -f
 
-### These help us choose version- and architecture-specific directories
-### to install files in.
+## These help us choose version- and architecture-specific directories
+## to install files in.
 
-### This should be the number of the XEmacs version we're building,
-### like `19.12' or `19.13'.
+## This should be the number of the XEmacs version we're building,
+## like `19.12' or `19.13'.
 version=@version@
 
-### This should be the name of the configuration we're building XEmacs
-### for, like `mips-dec-ultrix' or `sparc-sun-sunos'.
+## This should be the name of the configuration we're building XEmacs
+## for, like `mips-dec-ultrix' or `sparc-sun-sunos'.
 configuration=@configuration@
 
-# ==================== Where To Install Things ====================
+## ==================== Where To Install Things ====================
 
-# The default location for installation.  Everything is placed in
-# subdirectories of this directory.  The default values for many of
-# the variables below are expressed in terms of this one, so you may
-# not need to change them.  This defaults to /usr/local.
+## The default location for installation.  Everything is placed in
+## subdirectories of this directory.  The default values for many of
+## the variables below are expressed in terms of this one, so you may
+## not need to change them.  This defaults to /usr/local.
 prefix=@prefix@
 
-# Like `prefix', but used for architecture-specific files.
+## Like `prefix', but used for architecture-specific files.
 exec_prefix=@exec_prefix@
 
-# Where to install XEmacs and other binaries that people will want to
-# run directly (like etags).
+## Where to install XEmacs and other binaries that people will want to
+## run directly (like etags).
 bindir=@bindir@
 
-# Where to install architecture-independent data files.	 ${lispdir}
-# and ${etcdir} are subdirectories of this.
+## Where to install architecture-independent data files.
+## ${lispdir} and ${etcdir} are subdirectories of this.
 datadir=@datadir@
 
 pkgdir=@pkgdir@
 
-# Where to install and expect the files that XEmacs modifies as it
-# runs.	 These files are all architecture-independent. Right now, the
-# only such data is the locking directory; ${lockdir} is a
-# subdirectory of this.
+## Where to install and expect the files that XEmacs modifies as it runs.
+## These files are all architecture-independent. Right now, the
+## only such data is the locking directory;
+## ${lockdir} is a subdirectory of this.
 statedir=@statedir@
 
-# Where to install and expect executable files to be run by XEmacs
-# rather than directly by users, and other architecture-dependent
-# data.	 ${archlibdir} is a subdirectory of this.
+## Where to install and expect executable files to be run by XEmacs
+## rather than directly by users, and other architecture-dependent data
+## ${archlibdir} is a subdirectory of this.
 libdir=@libdir@
 
-# Where to install XEmacs's man pages, and what extension they should have.
+## Where to install XEmacs's man pages, and what extension they should have.
 mandir=@mandir@
 manext=.1
 
-# Where to install and expect the info files describing XEmacs.	In the
-# past, this defaulted to a subdirectory of ${prefix}/lib/xemacs, but
-# since there are now many packages documented with the texinfo
-# system, it is inappropriate to imply that it is part of XEmacs.
+## Where to install and expect the info files describing XEmacs.	In the
+## past, this defaulted to a subdirectory of ${prefix}/lib/xemacs, but
+## since there are now many packages documented with the texinfo
+## system, it is inappropriate to imply that it is part of XEmacs.
 infodir=@infodir@
 
-# This is set to 'yes' if the user specified the --infodir flag at
-# configuration time.
+## This is set to 'yes' if the user specified the --infodir flag at
+## configuration time.
 infodir_user_defined=@infodir_user_defined@
 
-# Where to find the source code.  The source code for XEmacs's C kernel is
-# expected to be in ${srcdir}/src, and the source code for XEmacs's
-# utility programs is expected to be in ${srcdir}/lib-src.  This is
-# set by the configure script's `--srcdir' option.
+## Where to find the source code.  The source code for XEmacs's C kernel is
+## expected to be in ${srcdir}/src, and the source code for XEmacs's
+## utility programs is expected to be in ${srcdir}/lib-src.  This is
+## set by the configure script's `--srcdir' option.
 srcdir=@srcdir@
 
-# ==================== XEmacs-specific directories ====================
+## ==================== XEmacs-specific directories ====================
 
-# These variables hold the values XEmacs will actually use.  They are
-# based on the values of the standard Make variables above.
+## These variables hold the values XEmacs will actually use.  They are
+## based on the values of the standard Make variables above.
 
-# Where to install the lisp files distributed with
-# XEmacs.  This includes the XEmacs version, so that the
-# lisp files for different versions of XEmacs will install
-# themselves in separate directories.
+## Where to install the lisp files distributed with
+## XEmacs.  This includes the XEmacs version, so that the
+## lisp files for different versions of XEmacs will install
+## themselves in separate directories.
 lispdir=@lispdir@
 
-# This is set to 'yes' if the user specified the --lispdir or
-# --datadir flag at configuration time.
+## This is set to 'yes' if the user specified the --lispdir or
+## --datadir flag at configuration time.
 lispdir_user_defined=@lispdir_user_defined@
 
-# Directories XEmacs should search for lisp files specific
-# to this site (i.e. customizations), before consulting
-# ${lispdir}.  This should be a colon-separated list of
-# directories.
+## Directories XEmacs should search for lisp files specific
+## to this site (i.e. customizations), before consulting
+## ${lispdir}.  This should be a colon-separated list of
+## directories.
 sitelispdir=@sitelispdir@
 
-# Where XEmacs will search for its lisp files while
-# building.  This is only used during the process of
-# compiling XEmacs, to help XEmacs find its lisp files
-# before they've been installed in their final location.
-# It's usually identical to lispdir, except that the
-# entry for the directory containing the installed lisp
-# files has been replaced with ../lisp.  This should be a
-# colon-separated list of directories.
+## Where XEmacs will search for its lisp files while
+## building.  This is only used during the process of
+## compiling XEmacs, to help XEmacs find its lisp files
+## before they've been installed in their final location.
+## It's usually identical to lispdir, except that the
+## entry for the directory containing the installed lisp
+## files has been replaced with ../lisp.  This should be a
+## colon-separated list of directories.
 buildlispdir=${srcdir}/lisp
 
-# Where to install the other architecture-independent
-# data files distributed with XEmacs (like the tutorial,
-# the cookie recipes and the Zippy database). This path
-# usually contains the XEmacs version number, so the data
-# files for multiple versions of XEmacs may be installed
-# at once.
+## Where to install the other architecture-independent
+## data files distributed with XEmacs (like the tutorial,
+## the cookie recipes and the Zippy database). This path
+## usually contains the XEmacs version number, so the data
+## files for multiple versions of XEmacs may be installed
+## at once.
 etcdir=@etcdir@
 
-# This is set to 'yes' if the user specified the --etcdir or
-# --datadir flag at configuration time.
+## This is set to 'yes' if the user specified the --etcdir or
+## --datadir flag at configuration time.
 etcdir_user_defined=@etcdir_user_defined@
 
-# Where to create and expect the locking directory, where
-# the XEmacs locking code keeps track of which files are
-# currently being edited.
+## Where to create and expect the locking directory, where
+## the XEmacs locking code keeps track of which files are
+## currently being edited.
 lockdir=@lockdir@
 
-# This is set to 'yes' if the user specified the --lockdir or
-# --statedir flag at configuration time.
+## This is set to 'yes' if the user specified the --lockdir or
+## --statedir flag at configuration time.
 lockdir_user_defined=@lockdir_user_defined@
 
-# Where to put executables to be run by XEmacs rather than
-# the user.  This path usually includes the XEmacs version
-# and configuration name, so that multiple configurations
-# for multiple versions of XEmacs may be installed at
-# once.
+## Where to put executables to be run by XEmacs rather than
+## the user.  This path usually includes the XEmacs version
+## and configuration name, so that multiple configurations
+## for multiple versions of XEmacs may be installed at
+## once.
 archlibdir=@archlibdir@
 
-# This is set to 'yes' if the user specified any of --exec-prefix,
-# --libdir or --archlibdir at configuration time.
+## This is set to 'yes' if the user specified any of --exec-prefix,
+## --libdir or --archlibdir at configuration time.
 archlibdir_user_defined=@archlibdir_user_defined@
 
-# ==================== Utility Programs for the Build ====================
+## ==================== Utility Programs for the Build ====================
 
-# Allow the user to specify the install program.
+## Allow the user to specify the install program.
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 
-# ============================= Targets ==============================
+## ============================= Targets ==============================
 
-# 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 XEmacs first.
+## 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 XEmacs first.
 MAKE_SUBDIR = @MAKE_SUBDIR@
 
-# Subdirectories that can be made recursively.
+## Subdirectories that can be made recursively.
 SUBDIR = ${MAKE_SUBDIR} man
 
-# The makefiles of the directories in ${MAKE_SUBDIR}.
+## The makefiles of the directories in ${MAKE_SUBDIR}.
 SUBDIR_MAKEFILES = @SUBDIR_MAKEFILES@
 
-# Subdirectories to install, and where they'll go.
-# lib-src's makefile knows how to install it, so we don't do that here.
-# When installing the info files, we need to do special things to
-# avoid nuking an existing dir file, so we don't do that here;
-# instead, we have written out explicit code in the `install' targets.
+## Subdirectories to install, and where they'll go.
+## lib-src's makefile knows how to install it, so we don't do that here.
+## When installing the info files, we need to do special things to
+## avoid nuking an existing dir file, so we don't do that here;
+## instead, we have written out explicit code in the `install' targets.
 COPYDIR = ${srcdir}/etc ${srcdir}/lisp
 COPYDESTS = ${etcdir} ${lispdir}
-GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h src/puresize_adjust.h
+GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/puresize_adjust.h src/config.h lwlib/config.h
 
 all:	${GENERATED_HEADERS} ${MAKE_SUBDIR}
 
-# For performance and consistency, no built-in rules
+## For performance and consistency, no built-in rules
 .SUFFIXES:
 
 .NO_PARALLEL:	${GENERATED_HEADERS} ${MAKE_SUBDIR} dump-elcs
 .PHONY: ${SUBDIR} all beta all-elc all-elcs dump-elc dump-elcs autoloads
 
-# Convenience target for XEmacs beta testers
+## Convenience target for XEmacs beta testers
 beta:	clean all-elc
 
-# Build XEmacs and recompile out-of-date and missing .elc files along
-# the way.
+## Build XEmacs and recompile out-of-date and missing .elc files along
+## the way.
 all-elc all-elcs:   lib-src lwlib dump-elcs src
 	MAKE='$(MAKE)' sh ${srcdir}/lib-src/update-elc.sh
 
-# Sub-target for all-elc.
+## Sub-target for all-elc.
 dump-elc dump-elcs: ${GENERATED_HEADERS} FRC.dump-elcs
 	cd src && $(MAKE) dump-elcs $(MFLAGS) \
 		CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}'
 autoloads:	src
 	MAKE='$(MAKE)' sh ${srcdir}/lib-src/update-autoloads.sh
 
-# We force the rebuilding of src/paths.h because the user might give
-# different values for the various directories.  Since we use
-# move-if-change, src/paths.h only actually changes if the user did
-# something notable, so the only unnecessary work we do is in building
-# src/paths.h.tmp, which isn't much.  Note that sed is not in /bin on
-# 386bsd.
+## We force the rebuilding of src/paths.h because the user might give
+## different values for the various directories.  Since we use
+## move-if-change, src/paths.h only actually changes if the user did
+## something notable, so the only unnecessary work we do is in building
+## src/paths.h.tmp, which isn't much.  Note that sed is not in /bin on
+## 386bsd.
 src/paths.h: Makefile ${srcdir}/src/paths.h.in FRC.src.paths.h
 	@echo "Producing \`src/paths.h' from \`src/paths.h.in'."
-	@-rm -f src/paths.h.tmp
+	@$(RM) src/paths.h.tmp
 	@cp ${srcdir}/src/paths.h.in src/paths.h.tmp
 	@-chmod 0644 src/paths.h.tmp
 	@(echo '#define PATH_PREFIX "${prefix}"'; \
 	fi; ) >> src/paths.h.tmp; \
 	sh ${srcdir}/move-if-change src/paths.h.tmp src/paths.h
 
-# We have to force the building of Emacs.ad.h as well in order to get it
-# updated correctly when VPATH is being used.  Since we use move-if-change,
-# it will only actually change if the user modified ${etcdir}/Emacs.ad.
+## We have to force the building of Emacs.ad.h as well in order to get it
+## updated correctly when VPATH is being used.  Since we use move-if-change,
+## it will only actually change if the user modified ${etcdir}/Emacs.ad.
 src/Emacs.ad.h: ${srcdir}/etc/Emacs.ad
 	@echo "Producing \`src/Emacs.ad.h' from \`etc/Emacs.ad'."
-	-rm -f src/Emacs.ad.h
+	@$(RM) src/Emacs.ad.h
 	@(echo "/*	Do not edit this file!" ; \
 	  echo "  	Automatically generated from ${srcdir}/etc/Emacs.ad" ; \
 	  echo " */" ; \
 src:	@SRC_SUBDIR_DEPS@ FRC.src
 lib-src: FRC.lib-src
 lwlib:	FRC.lwlib
+dynodump: FRC.dynodump
+FRC.src FRC.lib-src FRC.lwlib FRC.dynodump:
 
 .RECURSIVE: ${SUBDIR}
 
 lwlib/Makefile: ${srcdir}/lwlib/Makefile.in.in config.status
 	./config.status
 
+lwlib/config.h: ${srcdir}/lwlib/config.h.in
+	./config.status && touch $@
+
 src/config.h: ${srcdir}/src/config.h.in
-	./config.status
+	./config.status && touch $@
 
-# ==================== Installation ====================
+## ==================== Installation ====================
 
 ## If we let lib-src do its own installation, that means we
 ## don't have to duplicate the list of utilities to install in
 install: all install-arch-dep install-arch-indep;
 
 install-arch-dep: mkdir
-	(cd lib-src && \
+	cd lib-src && \
 	  $(MAKE) install $(MFLAGS) prefix=${prefix} \
 	    exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
-	    archlibdir=${archlibdir})
-	if [ `(cd ${archlibdir} && /bin/pwd)` != `(cd ./lib-src && /bin/pwd)` ]; \
+	    archlibdir=${archlibdir}
+	if [ `(cd ${archlibdir} && $(pwd))` != `(cd ./lib-src && $(pwd))` ]; \
 	then \
 	   ${INSTALL_DATA} lib-src/DOC ${archlibdir}/DOC ; \
 	   for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
-	     rm -rf $${subdir}/RCS $${subdir}/CVS $${subdir}/SCCS ; \
-	     rm -f  $${subdir}/\#* $${subdir}/*~ ; \
+	     (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ;
 	   done ; \
 	else true; fi
 	${INSTALL_PROGRAM} src/xemacs ${bindir}/xemacs-${version}
 	-chmod 0755 ${bindir}/xemacs-${version}
-	rm -f ${bindir}/xemacs
-	(cd ${bindir} && ${LN_S} xemacs-${version} ./xemacs)
+	$(RM) ${bindir}/xemacs
+	cd ${bindir} && ${LN_S} xemacs-${version} ./xemacs
 
 install-arch-indep: mkdir
-	-set ${COPYDESTS} ; \
+	-@set ${COPYDESTS} ; \
 	 for dir in ${COPYDIR} ; do \
-	   if [ `(cd $$1 && pwd)` != `(cd $${dir} && pwd)` ] ; then \
-	     echo "rm -rf $$1" ; \
+	   if [ `(cd $$1 && $(pwd))` != `(cd $${dir} && $(pwd))` ] ; then \
+	     : do nothing - echo "rm -rf $$1" ; \
 	   fi ; \
 	   shift ; \
 	 done
 	-set ${COPYDESTS} ; \
-	 mkdir ${COPYDESTS} ; \
+	 for dir in ${COPYDESTS} ; do test -d $${dir} || mkdir $${dir} ; done ; \
 	 for dir in ${COPYDIR} ; do \
 	   dest=$$1 ; shift ; \
-	   [ -d $${dir} ] \
-	   && [ `(cd $${dir} && /bin/pwd)` != `(cd $${dest} && /bin/pwd)` ] \
+	   test -d $${dir} \
+	     -a `(cd $${dir} && $(pwd))` != `(cd $${dest} && $(pwd))` \
 	   && (echo "Copying $${dir}..." ; \
 	       (cd $${dir} && tar -cf - . ) | \
 		(cd $${dest} && umask 022 && tar -xf - );\
 	       chmod 0755 $${dest}; \
 	       for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
-		 rm -rf $${subdir}/RCS $${subdir}/CVS $${subdir}/SCCS ; \
-		 rm -f  $${subdir}/\#* $${subdir}/*~ ; \
+		 (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; \
 	       done) ; \
 	 done
-	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
-	then \
-	  (cd ${srcdir}/info && \
-	   if [ ! -f ${infodir}/dir ] && [ -f dir ]; then \
-	     ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \
-	   fi ; \
-	   for f in *.info* ; do \
-	     ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f ; \
-	     chmod 0644 ${infodir}/$$f; \
-	   done); \
-	else true; fi
-	cd ${srcdir}/etc && for page in xemacs etags ctags gnuserv \
-				      gnuclient gnuattach gnudoit ; do \
-	  ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
-	  chmod 0644 ${mandir}/$${page}${manext} ; \
-	done
+	if test `(cd ${srcdir}/info && $(pwd))` != `(cd ${infodir} && $(pwd))` && cd ${srcdir}/info; then \
+	  if test ! -f ${infodir}/dir -a -f dir ; then \
+	    ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \
+	  fi ; \
+	  for file in *.info* ; do \
+	    ${INSTALL_DATA} $${file} ${infodir}/$${file} ; \
+	    chmod 0644 ${infodir}/$${file}; \
+	  done ; \
+	fi
+	cd ${srcdir}/etc && \
+	  for page in xemacs etags ctags gnuserv gnuclient gnuattach gnudoit; do \
+	    ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
+	    chmod 0644 ${mandir}/$${page}${manext} ; \
+	  done
 	@echo "If you would like to save approximately 15M of disk space, do"
 	@echo "make gzip-el"
 	@echo "or you may run "
 	lib-src/gzip-el.sh ${lispdir}
 
 MAKEPATH=./lib-src/make-path
-### Build all the directories we're going to install XEmacs in.	Since
-### we may be creating several layers of directories (for example,
-### /usr/local/lib/xemacs-19.13/mips-dec-ultrix4.2), we use make-path
-### instead of mkdir.  Not all systems' mkdirs have the `-p' flag.
+## Build all the directories we're going to install XEmacs in.	Since
+## we may be creating several layers of directories (for example,
+## /usr/local/lib/xemacs-19.13/mips-dec-ultrix4.2), we use make-path
+## instead of mkdir.  Not all systems' mkdirs have the `-p' flag.
 mkdir: FRC.mkdir
 	${MAKEPATH} ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \
 	  ${bindir} ${datadir} ${libdir} ${sitelispdir} ${pkdir}
 	-chmod 0777 ${lockdir}
 
-### Delete all the installed files that the `install' target would
-### create (but not the noninstalled files such as `make all' would
-### create).
-###
-### Don't delete the lisp and etc directories if they're in the source tree.
+## Delete all the installed files that the `install' target would
+## create (but not the noninstalled files such as `make all' would
+## create).
+
+#### Don't delete the lisp and etc directories if they're in the source tree.
 #### This target has not been updated in sometime and until it is it
 #### would be extremely dangerous for anyone to use it.
 #uninstall:
 #	    prefix=${prefix} exec_prefix=${exec_prefix}	\
 #	    bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
 #	for dir in ${lispdir} ${etcdir} ; do 		\
-#	  case `(cd $${dir} ; pwd)` in			\
-#	    `(cd ${srcdir} ; pwd)`* ) ;;		\
-#	    * ) rm -rf $${dir} ;;			\
+#	  case `(cd $${dir} ; $(pwd))` in			\
+#	    `(cd ${srcdir} ; $(pwd))`* ) ;;		\
+#	    * ) $(RM) $${dir} ;;			\
 #	  esac ;					\
 #	  case $${dir} in				\
 #	    ${datadir}/xemacs/${version}/* )		\
-#	      rm -rf ${datadir}/xemacs/${version}	\
+#	      $(RM) -r ${datadir}/xemacs/${version}	\
 #	    ;;						\
 #	  esac ;					\
 #	done
-#	(cd ${infodir} && rm -f cl* xemacs* forms* info* vip*)
-#	(cd ${mandir} && rm -f xemacs.1 etags.1 ctags.1 gnuserv.1)
-#	(cd ${bindir} && rm -f xemacs-${version} xemacs)
+#	cd ${infodir} && $(RM) cl* xemacs* forms* info* vip*
+#	cd ${mandir} && $(RM) xemacs.1 etags.1 ctags.1 gnuserv.1
+#	cd ${bindir} && $(RM) xemacs-${version} xemacs
 
 
-### Some makes seem to remember that they've built something called FRC,
-### so you can only use a given FRC once per makefile.
-FRC FRC.src.paths.h FRC.src FRC.lib-src FRC.lwlib FRC.mkdir FRC.dump-elcs:
-FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean:
+## Some makes seem to remember that they've built something called FRC,
+## so you can only use a given FRC once per makefile.
+FRC FRC.src.paths.h FRC.mkdir FRC.dump-elcs:
+FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean FRC.tags:
 
-# ==================== Cleaning up and miscellanea ====================
+## ==================== Cleaning up and miscellanea ====================
 
 .PHONY: mostlyclean clean distclean realclean extraclean
 
-### `mostlyclean'
-###      Like `clean', but may refrain from deleting a few files that people
-###      normally don't want to recompile.  For example, the `mostlyclean'
-###      target for GCC does not delete `libgcc.a', because recompiling it
-###      is rarely necessary and takes a lot of time.
+## `mostlyclean'
+##      Like `clean', but may refrain from deleting a few files that people
+##      normally don't want to recompile.  For example, the `mostlyclean'
+##      target for GCC does not delete `libgcc.a', because recompiling it
+##      is rarely necessary and takes a lot of time.
 mostlyclean: FRC.mostlyclean
-	for d in $(MAKE_SUBDIR); do (cd $$d && $(MAKE) $(MFLAGS) $@); done
-	-(cd man && $(MAKE) $(MFLAGS) $@)
+	for d in $(SUBDIR); do (cd $$d && $(MAKE) $(MFLAGS) $@); done
 
-### `clean'
-###      Delete all files from the current directory that are normally
-###      created by building the program.  Don't delete the files that
-###      record the configuration.  Also preserve files that could be made
-###      by building, but normally aren't because the distribution comes
-###      with them.
-###
-###      Delete `.dvi' files here if they are not part of the distribution.
+## `clean'
+##      Delete all files from the current directory that are normally
+##      created by building the program.  Don't delete the files that
+##      record the configuration.  Also preserve files that could be made
+##      by building, but normally aren't because the distribution comes
+##      with them.
+
+##      Delete `.dvi' files here if they are not part of the distribution.
 clean: FRC.clean
-	for d in $(MAKE_SUBDIR); do (cd $$d && $(MAKE) $(MFLAGS) $@); done
-	-(cd man && $(MAKE) $(MFLAGS) $@)
-	rm -f core
+	for d in $(SUBDIR); do (cd $$d && $(MAKE) $(MFLAGS) $@); done
+	$(RM) core
 
-### `distclean'
-###      Delete all files from the current directory that are created by
-###      configuring or building the program.  If you have unpacked the
-###      source and built the program without creating any other files,
-###      `make distclean' should leave only the files that were in the
-###      distribution.
+## `distclean'
+##      Delete all files from the current directory that are created by
+##      configuring or building the program.  If you have unpacked the
+##      source and built the program without creating any other files,
+##      `make distclean' should leave only the files that were in the
+##      distribution.
 top_distclean=\
-	rm -f config.status config.log config-tmp-* build-install Installation ; \
+	$(RM) config.status config.log config-tmp-* build-install Installation ; \
 	for d in src lib-src lwlib dynodump ; do \
-	  rm -f $$d/Makefile $$d/Makefile.in ; \
+	  $(RM) $$d/Makefile $$d/Makefile.in ; \
 	done ; \
-	rm -f core .sbinit Makefile lock/*
+	$(RM) core .sbinit Makefile lock/*
 
 distclean: FRC.distclean
-	-for d in lock site-lisp; do test -d $$d || mkdir $$d; done
-	for d in $(MAKE_SUBDIR); do (cd $$d && $(MAKE) $(MFLAGS) $@); done
-	-(cd man && $(MAKE) $(MFLAGS) $@)
+	for d in lock site-lisp; do test -d $$d || mkdir $$d; done
+	for d in $(SUBDIR); do (cd $$d && $(MAKE) $(MFLAGS) $@); done
 	-${top_distclean}
 
-### `realclean'
-###      Delete everything from the current directory that can be
-###      reconstructed with this Makefile.  This typically includes
-###      everything deleted by distclean, plus more: C source files
-###      produced by Bison, tags tables, info files, and so on.
-###
-###      One exception, however: `make realclean' should not delete
-###      `configure' even if `configure' can be remade using a rule in the
-###      Makefile.  More generally, `make realclean' should not delete
-###      anything that needs to exist in order to run `configure' and then
-###      begin to build the program.
+## `realclean'
+##      Delete everything from the current directory that can be
+##      reconstructed with this Makefile.  This typically includes
+##      everything deleted by distclean, plus more: C source files
+##      produced by Bison, tags tables, info files, and so on.
+
+##      One exception, however: `make realclean' should not delete
+##      `configure' even if `configure' can be remade using a rule in the
+##      Makefile.  More generally, `make realclean' should not delete
+##      anything that needs to exist in order to run `configure' and then
+##      begin to build the program.
 realclean: FRC.realclean
-	for d in $(MAKE_SUBDIR); do (cd $$d && $(MAKE) $(MFLAGS) $@); done
-	-(cd man && $(MAKE) $(MFLAGS) $@)
+	for d in $(SUBDIR); do (cd $$d && $(MAKE) $(MFLAGS) $@); done
 	-${top_distclean}
 
-### This doesn't actually appear in the coding standards, but Karl
-### says GCC supports it, and that's where the configuration part of
-### the coding standards seem to come from.  It's like distclean, but
-### it deletes backup and autosave files too.
+## This doesn't actually appear in the coding standards, but Karl
+## says GCC supports it, and that's where the configuration part of
+## the coding standards seem to come from.  It's like distclean, but
+## it deletes backup and autosave files too.
 extraclean:
-	for d in $(MAKE_SUBDIR); do (cd $$d && $(MAKE) $(MFLAGS) $@); done
-	-(cd man && $(MAKE) $(MFLAGS) $@)
-	-rm -f *~ \#*
+	for d in $(SUBDIR); do (cd $$d && $(MAKE) $(MFLAGS) $@); done
+	$(RM) *~ \#*
 	-${top_distclean}
 
-### Unlocking and relocking.  The idea of these productions is to reduce
-### hassles when installing an incremental tar of XEmacs.  Do `make unlock'
-### before unlocking the file to take the write locks off all sources so
-### that tar xvof will overwrite them without fuss.  Then do `make relock'
-### afterward so that VC mode will know which files should be checked in
-### if you want to mung them.
-###
-### Note: it's no disaster if these productions miss a file or two; tar
-### and VC will swiftly let you know if this happens, and it is easily
-### corrected.
+## Unlocking and relocking.  The idea of these productions is to reduce
+## hassles when installing an incremental tar of XEmacs.  Do `make unlock'
+## before unlocking the file to take the write locks off all sources so
+## that tar xvof will overwrite them without fuss.  Then do `make relock'
+## afterward so that VC mode will know which files should be checked in
+## if you want to mung them.
+
+## Note: it's no disaster if these productions miss a file or two; tar
+## and VC will swiftly let you know if this happens, and it is easily
+## corrected.
 SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in PROBLEMS \
 	README build-install.in configure make-dist move-if-change
 
 
 unlock:
 	chmod u+w $(SOURCES) cpp/*
-	-(cd elisp && chmod u+w Makefile README *.texi)
-	(cd etc     && $(MAKE) $(MFLAGS) unlock)
-	(cd lib-src && $(MAKE) $(MFLAGS) unlock)
-	(cd lisp    && $(MAKE) $(MFLAGS) unlock)
-	(cd lisp/term && chmod u+w README *.el)
-	(cd man && chmod u+w *texi* ChangeLog split-man)
-	(cd lwlib && chmod u+w *.[ch] Makefile.in.in)
-	(cd src && $(MAKE) $(MFLAGS) unlock)
+	-cd elisp && chmod u+w Makefile README *.texi
+	cd etc     && $(MAKE) $(MFLAGS) unlock
+	cd lib-src && $(MAKE) $(MFLAGS) unlock
+	cd lisp    && $(MAKE) $(MFLAGS) unlock
+	cd lisp/term && chmod u+w README *.el
+	cd man && chmod u+w *texi* ChangeLog split-man
+	cd lwlib && chmod u+w *.[ch] Makefile.in.in
+	cd src && $(MAKE) $(MFLAGS) $@
 
 relock:
 	chmod u-w $(SOURCES) cpp/*
-	-(cd elisp && chmod u-w Makefile README *.texi)
-	(cd etc     && $(MAKE) $(MFLAGS) relock)
-	(cd lib-src && $(MAKE) $(MFLAGS) relock)
-	(cd lisp    && $(MAKE) $(MFLAGS) relock)
-	(cd lisp/term && chmod u+w README *.el)
-	(cd man && chmod u+w *texi* ChangeLog split-man)
-	(cd lwlib && chmod u+w *.[ch] Makefile.in.in)
-	(cd src && $(MAKE) $(MFLAGS) relock)
+	-cd elisp && chmod u-w Makefile README *.texi
+	cd etc     && $(MAKE) $(MFLAGS) relock
+	cd lib-src && $(MAKE) $(MFLAGS) relock
+	cd lisp    && $(MAKE) $(MFLAGS) relock
+	cd lisp/term && chmod u+w README *.el
+	cd man && chmod u+w *texi* ChangeLog split-man
+	cd lwlib && chmod u+w *.[ch] Makefile.in.in
+	cd src && $(MAKE) $(MFLAGS) $@
 
 TAGS tags: FRC.tags
 	@echo "If you don't have a copy of etags around, then do 'make lib-src' first."
-	@PATH=`pwd`/lib-src:$$PATH HOME=/-=-; export PATH HOME; \
+	@PATH=`$(pwd)`/lib-src:$$PATH HOME=/-=-; export PATH HOME; \
 	  echo "Using etags from `which etags`."
-	PATH=`pwd`/lib-src:$$PATH ; export PATH; cd ${srcdir} && \
+	PATH=`$(pwd)`/lib-src:$$PATH ; export PATH; cd ${srcdir} && \
 	etags --regex='/[ 	]*DEF\(VAR\|INE\)_[A-Z_]+[ 	]*([ 	]*"\([^"]+\)"/\2/' src/*.[ch] ; \
 	for d in `find lisp -name SCCS -prune -o -name RCS -prune -o -type d -print` ; do \
 	  (cd $$d && if [ "`echo *.el`" != "*.el" ] ; then etags -a -o ${srcdir}/TAGS *.el ; fi ) ; \
 
 info: FRC.info
 	cd ${srcdir}/man && $(MAKE) $(MFLAGS) $@
+
 dvi:
 	cd ${srcdir}/man && $(MAKE) $(MFLAGS) $@
 
-# Fix up version information in executables (Solaris-only)
+## Fix up version information in executables (Solaris-only)
 mcs:
 	date=`LANG=C LC_ALL=C date -u '+%e %b %Y'`; \
 	ident="@(#)RELEASE VERSION XEmacs ${version} $${date}"; \