### for, like `mips-dec-ultrix' or `sparc-sun-sunos'.
configuration=@configuration@
-### Libraries which should be edited into lib-src/Makefile.
-libsrc_libs=@libsrc_libs@
-
# ==================== Where To Install Things ====================
# The default location for installation. Everything is placed in
# building. This is only used during the process of
# compiling Emacs, to help Emacs find its lisp files
# before they've been installed in their final location.
-# It's usually identical to lisppath, except that the
+# It's usually identical to lisppath, except that
+# it does not include locallisppath, and the
# entry for the directory containing the installed lisp
# files has been replaced with ../lisp. This should be a
# colon-separated list of directories.
COPYDIR = ${srcdir}/etc ${srcdir}/lisp
COPYDESTS = ${etcdir} ${lispdir}
-all: src/paths.h ${SUBDIR} blessmail
+all: paths-force ${SUBDIR}
+
+removenullpaths=sed -e 's/^://g' -e 's/:$$//g' -e 's/::/:/g'
-removenullpaths=sed -e 's/^://' -e 's/:$$//' -e 's/::/:/'
+# Note that sed is not in /bin on 386bsd.
+src/paths.h: Makefile ${srcdir}/src/paths.h.in
+ @echo "Producing \`src/paths.h' from \`src/paths.h.in'."
+ @(lisppath=`echo ${lisppath} | ${removenullpaths}` ; \
+ buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ; \
+ sed < ${srcdir}/src/paths.h.in > src/paths.h.tmp \
+ -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";' \
+ -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \
+ -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";' \
+ -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";' \
+ -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";' \
+ -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";' \
+ -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";')
+ @${srcdir}/move-if-change src/paths.h.tmp src/paths.h
-# We force the rebuilding of src/paths.h because the user might give
+# For `make all',
+# we force the rebuilding of src/paths.h because the user might give
# make 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
+paths-force: FRC.src.paths.h
@echo "Producing \`src/paths.h' from \`src/paths.h.in'."
@(lisppath=`echo ${lisppath} | ${removenullpaths}` ; \
buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ; \
-e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";')
@${srcdir}/move-if-change src/paths.h.tmp src/paths.h
-src: lib-src FRC.src
+src: lib-src FRC.src src/paths.h
+# This ought to depend on src/paths.h, so that in parallel make
+# src/paths.h will be available for the compilations in lib-src.
+# But that causes trouble in `make install' if a different prefix
+# is specified at that time.
lib-src: FRC.lib-src src/paths.h
.RECURSIVE: ${SUBDIR}
CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'
-blessmail: ${SUBDIR_MAKEFILES} FRC
+blessmail: ${SUBDIR_MAKEFILES} src FRC
cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) MAKE='${MAKE}'
Makefile: Makefile.in config.status
install-arch-indep: mkdir
-set ${COPYDESTS} ; \
for dir in ${COPYDIR} ; do \
- if [ `(cd $$1 && pwd)` != `(cd $${dir} && pwd)` ] ; then \
+ if [ `(cd $$1 && /bin/pwd)` != `(cd $${dir} && /bin/pwd)` ] ; then \
rm -rf $$1 ; \
fi ; \
shift ; \
echo "Copying etc/DOC* ..." ; \
(cd etc; tar -cf - DOC*)|(cd ${docdir}; umask 0; tar -xvf - ); \
else true; fi
- thisdir=`pwd`; \
+ thisdir=`/bin/pwd`; \
if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
then \
(cd ${srcdir}/info ; \
(cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f); \
done); \
else true; fi
- thisdir=`pwd`; cd ${srcdir}/etc; for page in emacs etags ctags ; do \
+ thisdir=`/bin/pwd`; cd ${srcdir}/etc; for page in emacs etags ctags ; do \
(cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext}); \
done
mkdir: FRC.mkdir
./lib-src/make-path ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \
${bindir} ${datadir} ${docdir} ${libdir} \
- `echo ${locallisppath} | sed 's/:/ /'`
+ `echo ${locallisppath} | sed 's/:/ /g'`
-chmod 777 ${lockdir}
### Delete all the installed files that the `install' target would
bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
for dir in ${lispdir} ${etcdir} ; do \
if [ -d $${dir} ]; then \
- case `(cd $${dir} ; pwd)` in \
- `(cd ${srcdir} ; pwd)`* ) ;; \
+ case `(cd $${dir} ; /bin/pwd)` in \
+ `(cd ${srcdir} ; /bin/pwd)`* ) ;; \
* ) rm -rf $${dir} ;; \
esac ; \
case $${dir} in \
done
(cd ${infodir}; rm -f cl* emacs* forms* info* vip*)
(cd ${mandir}; rm -f emacs.1 etags.1 ctags.1)
- (cd ${bindir}; rm -f emacs-${version} emacs)
+ (cd ${bindir}; rm -f emacs-${version} $(EMACS))
### Some makes seem to remember that they've built something called FRC,
(cd oldXMenu; $(MAKE) $(MFLAGS) mostlyclean)
(cd lwlib; $(MAKE) $(MFLAGS) mostlyclean)
(cd lib-src; $(MAKE) $(MFLAGS) mostlyclean)
- -(cd man; $(MAKE) $(MFLAGS) mostlyclean)
+ -(cd man && $(MAKE) $(MFLAGS) mostlyclean)
### `clean'
### Delete all files from the current directory that are normally
(cd oldXMenu; $(MAKE) $(MFLAGS) clean)
(cd lwlib; $(MAKE) $(MFLAGS) clean)
(cd lib-src; $(MAKE) $(MFLAGS) clean)
- -(cd man; $(MAKE) $(MFLAGS) clean)
+ -(cd man && $(MAKE) $(MFLAGS) clean)
### `distclean'
### Delete all files from the current directory that are created by
(cd oldXMenu; $(MAKE) $(MFLAGS) distclean)
(cd lwlib; $(MAKE) $(MFLAGS) distclean)
(cd lib-src; $(MAKE) $(MFLAGS) distclean)
- (cd man; $(MAKE) $(MFLAGS) distclean)
+ (cd man && $(MAKE) $(MFLAGS) distclean)
${top_distclean}
(cd oldXMenu; $(MAKE) $(MFLAGS) realclean)
(cd lwlib; $(MAKE) $(MFLAGS) realclean)
(cd lib-src; $(MAKE) $(MFLAGS) realclean)
- -(cd man; $(MAKE) $(MFLAGS) realclean)
+ -(cd man && $(MAKE) $(MFLAGS) realclean)
${top_distclean}
### This doesn't actually appear in the coding standards, but Karl