summaryrefslogtreecommitdiff
path: root/Makefile.in
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1993-05-26 18:27:58 +0000
committerJim Blandy <jimb@redhat.com>1993-05-26 18:27:58 +0000
commit005775ce9736552e8c218ca33a8aea103054ce23 (patch)
tree315f36b2acec6ce822c6c51209e1799f4643b4c4 /Makefile.in
parent03b3ba121e4973a9b8f4f41582de1f01c53e3a7b (diff)
downloademacs-005775ce9736552e8c218ca33a8aea103054ce23.tar.gz
* 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.
Diffstat (limited to 'Makefile.in')
-rw-r--r--Makefile.in35
1 files 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