Commit d10cfddd authored by Glenn Morris's avatar Glenn Morris

Let the top-level Makefile install leim

* 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.
parent 629efc92
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.
......
......@@ -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
......
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.
......
......@@ -27,21 +27,7 @@
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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment