# HG changeset patch # User Jim Blandy # Date 738440878 0 # Node ID 0e9f73b6245d9d53c1780a333600015b6964c445 # Parent ab977e2c943160de4aade2429ec7709f5e837004 * 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. diff -r ab977e2c9431 -r 0e9f73b6245d Makefile.in --- a/Makefile.in Wed May 26 18:21:26 1993 +0000 +++ b/Makefile.in Wed May 26 18:27:58 1993 +0000 @@ -204,8 +204,8 @@ # 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 @@ 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 @@ 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