From 005775ce9736552e8c218ca33a8aea103054ce23 Mon Sep 17 00:00:00 2001 From: Jim Blandy Date: Wed, 26 May 1993 18:27:58 +0000 Subject: [PATCH] * Makefile.in (do-install): Don't remove a destination directory if it's the same as the source. If ${srcdir}/info == ${infodir}, don't try to copy the info files. * Makefile.in (COPYDIR, COPYDESTS): Don't mention etc twice; this doesn't work if you're not using a separate source directory. (do-install): Copy the build tree's etc directory only after making sure it's not also the source tree's etc directory. --- Makefile.in | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/Makefile.in b/Makefile.in index 95ca4de7836..7b00ca8c3da 100644 --- a/Makefile.in +++ b/Makefile.in @@ -204,8 +204,8 @@ SUBDIR_MAKEFILES = lib-src/Makefile src/Makefile oldXMenu/Makefile # 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 = etc ${srcdir}/etc ${srcdir}/lisp ${srcdir}/external-lisp -COPYDESTS = ${etcdir} ${etcdir} ${lispdir} ${externallispdir} +COPYDIR = ${srcdir}/etc ${srcdir}/lisp ${srcdir}/external-lisp +COPYDESTS = ${etcdir} ${lispdir} ${externallispdir} all: src/paths.h ${SUBDIR} @@ -330,7 +330,12 @@ do-install: mkdir exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \ archlibdir=${archlibdir}) -set ${COPYDESTS} ; \ - rm -rf ${COPYDESTS} ; \ + for dir in ${COPYDIR} ; do \ + if [ `(cd $$1 ; pwd)` != `(cd $${dir} ; pwd)` ] ; then \ + rm -rf $${dir} ; \ + fi ; \ + done + -set ${COPYDESTS} ; \ mkdir ${COPYDESTS} ; \ for dir in ${COPYDIR} ; do \ dest=$$1 ; shift ; \ @@ -345,13 +350,23 @@ do-install: mkdir rm -f $${subdir}/*~ ; \ done) ; \ done - -(cd ${srcdir}/info ; \ - if [ ! -f ${infodir}/dir ] && [ -f dir ]; then \ - ${INSTALL_DATA} dir ${infodir}/dir ; \ - fi ; \ - for f in cl* emacs* forms* info* vip* ; do \ - ${INSTALL_DATA} $$f ${infodir}/$$f ; \ - done) + -[ `(cd etc; /bin/pwd)` != `(cd ${etcdir}; /bin/pwd)` ] \ + && (echo "Copying ./etc..." ; \ + (cd ./etc; tar cf - . )|(cd ${etcdir}; umask 0; tar xvf - ); \ + for subdir in `find ${etcdir} -type d ! -name RCS -print` ; do \ + rm -rf $${subdir}/RCS ; \ + rm -rf $${subdir}/CVS ; \ + rm -f $${subdir}/\#* ; \ + rm -f $${subdir}/*~ ; \ + done) + -[ `(cd ${srcdir}/info; /bin/pwd)` != `(cd ${infodir}; /bin/pwd)` ] \ + && (cd ${srcdir}/info ; \ + if [ ! -f ${infodir}/dir ] && [ -f dir ]; then \ + ${INSTALL_DATA} dir ${infodir}/dir ; \ + fi ; \ + for f in cl* emacs* forms* info* vip* ; do \ + ${INSTALL_DATA} $$f ${infodir}/$$f ; \ + done) cd ${srcdir}/etc; for page in emacs etags ctags ; do \ ${INSTALL_DATA} $${page}.1 ${mandir}/$${page}${manext} ; \ done