changeset 7704:022727dbe5f3

(install-arch-indep): Use /bin/pwd uniformly, not pwd. (uninstall): Use /bin/pwd. (blessmail): Depend on src. (all): Don't depend on blessmail. (src/paths.h): Don't force recomputation. (paths-force): New target; force recomputation of paths.h. (all): Depend on paths-force. (src, lib-src): Depend on src/paths.h.
author Richard M. Stallman <rms@gnu.org>
date Fri, 27 May 1994 08:17:46 +0000
parents 2b7b11a5e1e6
children b10cc49f6c37
files Makefile.in
diffstat 1 files changed, 31 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.in	Fri May 27 08:00:46 1994 +0000
+++ b/Makefile.in	Fri May 27 08:17:46 1994 +0000
@@ -195,17 +195,12 @@
 COPYDIR = ${srcdir}/etc ${srcdir}/lisp
 COPYDESTS = ${etcdir} ${lispdir}
 
-all:	src/paths.h ${SUBDIR} blessmail
+all:	paths-force ${SUBDIR}
 
 removenullpaths=sed -e 's/^://' -e 's/:$$//' -e 's/::/:/'
 
-# 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
+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}` ;	\
@@ -219,13 +214,34 @@
 	  -e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";')
 	@${srcdir}/move-if-change src/paths.h.tmp src/paths.h
 
-src:	lib-src FRC.src
+# 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.
+paths-force: FRC.src.paths.h
+	@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
+
+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
+lib-src: FRC.lib-src src/paths.h
 
 .RECURSIVE: ${SUBDIR}
 
@@ -234,7 +250,7 @@
 	  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
@@ -289,7 +305,7 @@
 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 ; \
@@ -314,7 +330,7 @@
 	   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 ; \
@@ -325,7 +341,7 @@
 	     (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
 
@@ -351,8 +367,8 @@
 	    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				\