Mercurial > emacs
diff Makefile.in @ 3123:0e9f73b6245d
* 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.
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Wed, 26 May 1993 18:27:58 +0000 |
parents | 7b418622d32b |
children | 852864d39b0a |
line wrap: on
line diff
--- 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