]> git.eshelyaron.com Git - emacs.git/commitdiff
Let the top-level Makefile install leim
authorGlenn Morris <rgm@gnu.org>
Mon, 21 May 2012 20:13:49 +0000 (16:13 -0400)
committerGlenn Morris <rgm@gnu.org>
Mon, 21 May 2012 20:13:49 +0000 (16:13 -0400)
* Makefile.in (leimdir): New, set by configure.
(COPYDIR, COPYDESTS): Add leim directories.
(install-leim): Remove.
(install-arch-indep): Handle leim installation directly.

* leim/Makefile.in (install): Remove, let top-level do it.
(version, prefix, datarootdir, datadir, ns_appresdir, leimdir):
(MKDIR_P, GZIP_PROG): Remove, no longer used.

ChangeLog
Makefile.in
leim/ChangeLog
leim/Makefile.in

index f72c73ad3218a0534053341ce7a22bbab8d70fcd..dcd8559d7b7138ae728f76da4e6cd06a138ee3b3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2012-05-21  Glenn Morris  <rgm@gnu.org>
 
+       * Makefile.in (leimdir): New, set by configure.
+       (COPYDIR, COPYDESTS): Add leim directories.
+       (install-leim): Remove.
+       (install-arch-indep): Handle leim installation directly.
+
        * vpath.sed: Remove unused file.
        * make-dist: No more vpath.sed.
 
index f978f19e9745a4cc023d7e1f0500c1d992dfaa65..2db87aef6ce390323cc72dd36ec2cef6705e247e 100644 (file)
@@ -181,11 +181,12 @@ iconsrcdir=$(srcdir)/etc/images/icons
 # These variables hold the values Emacs will actually use.  They are
 # based on the values of the standard Make variables above.
 
-# Where to install the lisp files distributed with
+# Where to install the lisp, leim files distributed with
 # Emacs.  This includes the Emacs version, so that the
 # lisp files for different versions of Emacs will install
 # themselves in separate directories.
 lispdir=@lispdir@
+leimdir=@leimdir@
 
 # Directories Emacs should search for lisp files specific
 # to this site (i.e. customizations), before consulting
@@ -267,12 +268,11 @@ SUBDIR_MAKEFILES = `echo $(SUBDIR_MAKEFILES_IN:.in=) | sed 's|$(srcdir)/||g'`
 
 # Subdirectories to install, and where they'll go.
 # lib-src's makefile knows how to install it, so we don't do that here.
-# leim's makefile also knows how to install it, so we don't do that here.
-# 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 = ${srcdir}/etc ${srcdir}/lisp
-COPYDESTS = $(DESTDIR)${etcdir} $(DESTDIR)${lispdir}
+# Directories that cannot simply be copied, eg info,
+# are treated separately.
+# quail appears twice because in out-of-tree builds, it exists twice.
+COPYDIR = ${srcdir}/etc ${srcdir}/lisp ${srcdir}/leim/ja-dic ${srcdir}/leim/quail leim/quail
+COPYDESTS = $(DESTDIR)${etcdir} $(DESTDIR)${lispdir} $(DESTDIR)${leimdir}/ja-dic $(DESTDIR)${leimdir}/quail $(DESTDIR)${leimdir}/quail 
 
 all: ${SUBDIR}
 
@@ -482,7 +482,7 @@ set_installuser=for installuser in $${LOGNAME} $${USERNAME} $${USER} \
 ## work correctly, and therefore no idea when tar can be replaced.
 ## See also these comments from 2004 about cp -r working fine:
 ## http://lists.gnu.org/archive/html/autoconf-patches/2004-11/msg00005.html
-install-arch-indep: install-leim install-info install-man ${INSTALL_ARCH_INDEP_EXTRA}
+install-arch-indep: install-info install-man ${INSTALL_ARCH_INDEP_EXTRA}
        umask 022 ; \
          $(MKDIR_P) $(DESTDIR)`echo ${locallisppath} | sed 's,:, $(DESTDIR),g'`
        -set ${COPYDESTS} ; \
@@ -494,8 +494,13 @@ install-arch-indep: install-leim install-info install-man ${INSTALL_ARCH_INDEP_E
          [ -d $${dest} ] && \
            [ `cd $${dest} && /bin/pwd` = `cd $${dir} && /bin/pwd` ] && \
            continue ; \
-         rm -rf $${dest} ; \
-         umask 022; ${MKDIR_P} $${dest} ; \
+         if [ "$${dir}" = "leim/quail" ]; then \
+           [ `cd $${dir} && /bin/pwd` = `cd ${srcdir}/leim/quail && /bin/pwd` ] && \
+             continue ; \
+         else \
+           rm -rf $${dest} ; \
+           umask 022; ${MKDIR_P} $${dest} ; \
+         fi ; \
          echo "Copying $${dir} to $${dest}..." ; \
          (cd $${dir}; tar -chf - . ) \
            | (cd $${dest}; umask 022; \
@@ -515,6 +520,8 @@ install-arch-indep: install-leim install-info install-man ${INSTALL_ARCH_INDEP_E
          done ; \
          find $${dest} -exec chown $${installuser} {} ';' ;\
        done
+       -rm -f $(DESTDIR)${leimdir}/leim-list.el
+       ${INSTALL_DATA} leim/leim-list.el $(DESTDIR)${leimdir}/leim-list.el
        -rm -f $(DESTDIR)${lispdir}/subdirs.el
        umask 022; $(srcdir)/update-subdirs $(DESTDIR)${lispdir}
        subdir=$(DESTDIR)${datadir}/emacs/${version}/site-lisp ; \
@@ -524,9 +531,13 @@ install-arch-indep: install-leim install-info install-man ${INSTALL_ARCH_INDEP_E
        [ -z "${GZIP_PROG}" ] || \
          ( echo "Compressing *.el ..." ; \
            unset CDPATH; \
-           cd $(DESTDIR)${lispdir}; \
-           for f in `find . -name "*.elc" -print`; do \
-             ${GZIP_PROG} -9n `echo $$f|sed 's/.elc$$/.el/'` ; \
+           thisdir=`/bin/pwd`; \
+           for dir in $(DESTDIR)${lispdir} $(DESTDIR)${leimdir}; do \
+             cd $${thisdir} ; \
+             cd $${dir} || exit 1 ; \
+             for f in `find . -name "*.elc" -print`; do \
+               ${GZIP_PROG} -9n `echo $$f|sed 's/.elc$$/.el/'` ; \
+             done ; \
            done )
        -chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} ${COPYDESTS}
 
@@ -610,13 +621,6 @@ install-etc:
          done ; \
        done
 
-### Install LEIM files.  Although they are machine-independent, we
-### have separate target here instead of including it in
-### `install-arch-indep'.  People who extracted LEIM files after they
-### installed Emacs itself can install only LEIM files by this target.
-install-leim: leim/Makefile
-       cd leim && $(MAKE) $(MFLAGS) install
-
 ### Build Emacs and install it, stripping binaries while installing them.
 install-strip:
        $(MAKE) $(MFLAGS) INSTALL_STRIP=-s install
index 953e6f1acddd6eb3fc889adfcfca12834d49c83f..099e69423c0193f346d6081081a08ae6852f4f41 100644 (file)
@@ -1,5 +1,9 @@
 2012-05-21  Glenn Morris  <rgm@gnu.org>
 
+       * Makefile.in (install): Remove, let top-level do it.
+       (version, prefix, datarootdir, datadir, ns_appresdir, leimdir):
+       (MKDIR_P, GZIP_PROG): Remove, no longer used.
+
        * Makefile.in (install_prefix): Remove.
        (LEIM_INSTALLDIR): Rename to leimdir.
        (install): Update for this change.
index 73aa8328ed92b9b5bea19b852ada2007255ca42b..1cda73b349201e3c604e98ea255eb21b89a7366b 100644 (file)
 SHELL = /bin/sh
 
 # Here are the things that we expect ../configure to edit.
-version=@version@
-prefix=@prefix@
-datarootdir=@datarootdir@
-datadir=@datadir@
 srcdir=@srcdir@
-ns_appresdir=@ns_appresdir@
-
-# Where to install LEIM files.
-# For most builds, this is ${datadir}/emacs/${version}/leim.
-# For self-contained ns builds, it is ${ns_appresdir}/leim.
-leimdir=@leimdir@
-
-MKDIR_P = @MKDIR_P@
-
-GZIP_PROG = @GZIP_PROG@
 
 # Which Emacs to use to convert TIT files to Emacs Lisp files,
 # byte-compile Emacs Lisp files, and generate the file leim-list.el.
@@ -187,44 +173,6 @@ compile-main: ${TIT_MISC}
          $(MAKE) $(MFLAGS) compile-targets EMACS="$(EMACS)" TARGETS="$$chunk"; \
        done
 
-install: all
-       umask 022; ${MKDIR_P} $(DESTDIR)${leimdir}
-       if [ x`cd $(DESTDIR)${leimdir} && /bin/pwd` != x`/bin/pwd` ] ; then \
-         rm -f $(DESTDIR)${leimdir}/leim-list.el; \
-         rm -rf $(DESTDIR)${leimdir}/quail $(DESTDIR)${leimdir}/ja-dic ; \
-         echo "Copying leim files to $(DESTDIR)${leimdir} ..." ; \
-         if [ x`cd ${srcdir} && /bin/pwd` = x`/bin/pwd` ] ; then \
-           tar -chf - leim-list.el quail ja-dic \
-               | (cd $(DESTDIR)${leimdir}; umask 0; tar -xvf - && cat > /dev/null) ;\
-         else \
-           tar -chf - leim-list.el quail \
-               | (cd $(DESTDIR)${leimdir}; umask 0; tar -xvf - && cat > /dev/null) ;\
-           cd ${srcdir}; \
-           tar -chf - quail/* ja-dic \
-               | (cd $(DESTDIR)${leimdir}; umask 0; tar -xvf - && cat > /dev/null) ;\
-         fi; \
-         rm -f  $(DESTDIR)${leimdir}/.gitignore $(DESTDIR)${leimdir}/*/.gitignore; \
-         rm -f  $(DESTDIR)${leimdir}/.arch-inventory $(DESTDIR)${leimdir}/*/.arch-inventory; \
-         rm -f  $(DESTDIR)${leimdir}/\#*        $(DESTDIR)${leimdir}/*/\#* ; \
-         rm -f  $(DESTDIR)${leimdir}/.\#*       $(DESTDIR)${leimdir}/*/.\#* ; \
-         rm -f  $(DESTDIR)${leimdir}/*~         $(DESTDIR)${leimdir}/*/*~ ; \
-         rm -f  $(DESTDIR)${leimdir}/*.orig     $(DESTDIR)${leimdir}/*/*.orig ; \
-       else true; fi
-       -unset CDPATH; \
-       if [ -n "${GZIP_PROG}" ]; \
-       then \
-          echo "Compressing *.el ..." ; \
-          (cd $(DESTDIR)${leimdir}; for f in `find . -name "*.elc" -print`; do \
-               ${GZIP_PROG} -9n `echo $$f|sed 's/.elc$$/.el/'` ; \
-           done) \
-       else true; fi
-       -chmod -R a+r $(DESTDIR)${leimdir}
-       for installuser in $${LOGNAME} $${USERNAME} $${USER} \
-         `id -un 2> /dev/null`; do \
-         [ -n "$${installuser}" ] && break ; \
-       done ; \
-       find $(DESTDIR)${leimdir} -exec chown $${installuser} '{}' ';'
-
 clean mostlyclean:
        rm -f ${TIT_MISC} ${TIT_MISC:.el=.elc} \
                leim-list.el changed.tit changed.misc