(doc-view-dvi->pdf-sentinel, doc-view-pdf/ps->png-sentinel)
[bpt/emacs.git] / Makefile.in
index 66cc0f3..b3de304 100644 (file)
@@ -138,11 +138,11 @@ man1dir=$(mandir)/man1
 # since there are now many packages documented with the texinfo
 # system, it is inappropriate to imply that it is part of Emacs.
 infodir=@infodir@
-INFO_FILES=ada-mode autotype calc ccmode cl dired-x ebrowse ediff efaq \
-           elisp eintr emacs emacs-mime eshell eudc flymake \
-           forms gnus idlwave info message mh-e newsticker org pcl-cvs \
-           pgg reftex sc ses sieve speedbar tramp vip viper widget     \
-           woman smtpmail url rcirc erc
+INFO_FILES=ada-mode autotype calc ccmode cl dbus dired-x ebrowse ediff \
+           efaq eintr elisp emacs emacs-mime erc eshell eudc flymake   \
+           forms gnus idlwave info message mh-e newsticker nxml-mode   \
+           org pcl-cvs pgg rcirc reftex remember sc ses sieve speedbar \
+           tramp vip viper widget woman smtpmail url
 
 # Directory for local state files for all programs.
 localstatedir=@localstatedir@
@@ -420,6 +420,15 @@ install-arch-dep: mkdir
 
 ## If people complain about the h flag in tar command, take that out.
 ## That flag is also used in leim/Makefile.in
+
+## Note that the Makefiles in the etc directory are potentially useful
+## in an installed Emacs, so should not be excluded.
+
+## installuser:
+## http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg01672.html
+## Nuisance because i) it needs to be the user running install, so
+## configure can't set it; ii) can't (?) use the result of rule
+## commands to set make variables.
 install-arch-indep: mkdir info
        -set ${COPYDESTS} ; \
        unset CDPATH; \
@@ -433,6 +442,10 @@ install-arch-indep: mkdir info
        mkdir ${COPYDESTS} ; \
        chmod ugo+rx ${COPYDESTS} ; \
        unset CDPATH; \
+       for installuser in $${LOGNAME} $${USERNAME} $${USER} \
+         `id -un 2> /dev/null`; do \
+         [ -n "$${installuser}" ] && break ; \
+       done ; \
        for dir in ${COPYDIR} ; do \
          dest=$$1 ; shift ; \
          [ -d $${dir} ] \
@@ -441,7 +454,7 @@ install-arch-indep: mkdir info
              (cd $${dir}; tar -chf - . ) \
                | (cd $${dest}; umask 022; \
                    tar -xvf - && cat > /dev/null) || exit 1; \
-             find $${dest} -exec chown $${LOGNAME:-$$USERNAME} {} ';' ;\
+             find $${dest} -exec chown $${installuser} {} ';' ;\
              for subdir in `find $${dest} -type d ! -name RCS ! -name CVS -print` ; do \
                chmod a+rx $${subdir} ; \
                rm -rf $${subdir}/RCS ; \
@@ -452,7 +465,8 @@ install-arch-indep: mkdir info
                rm -f  $${subdir}/.\#* ; \
                rm -f  $${subdir}/*~ ; \
                rm -f  $${subdir}/*.orig ; \
-               rm -f  $${subdir}/[mM]akefile* ; \
+               [ "$${dir}" != "${srcdir}/etc" ] && \
+                       rm -f  $${subdir}/[mM]akefile* ; \
                rm -f  $${subdir}/ChangeLog* ; \
                rm -f  $${subdir}/dired.todo ; \
              done) ; \
@@ -488,7 +502,12 @@ install-arch-indep: mkdir info
           echo "Copying etc/$${docfile} to $(DESTDIR)${docdir} ..." ; \
           (cd ./etc; tar -chf - $${docfile}) \
             |(cd $(DESTDIR)${docdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
-          (cd $(DESTDIR)$(docdir); chown $${LOGNAME:-$$USERNAME} DOC*; chmod a+r DOC*; \
+          (cd $(DESTDIR)$(docdir); \
+           for installuser in $${LOGNAME} $${USERNAME} $${USER} \
+             `id -un 2> /dev/null`; do \
+              [ -n "$${installuser}" ] && break ; \
+           done ; \
+           chown $${installuser} DOC*; chmod a+r DOC*; \
            if test "`echo DOC-*`" != "DOC-*"; then rm -f DOC; fi); \
        else true; fi
        -unset CDPATH; \
@@ -500,7 +519,12 @@ install-arch-indep: mkdir info
           echo "Copying lisp/*.el and lisp/*.elc to $(DESTDIR)${lispdir} ..." ; \
           (cd lisp; tar -chf - *.el *.elc) \
             |(cd $(DESTDIR)${lispdir}; umask 022; tar -xvf - && cat > /dev/null) || exit 1; \
-          (cd $(DESTDIR)${lispdir}; find . -exec chown $${LOGNAME:-$$USERNAME} {} ';') ; \
+          (cd $(DESTDIR)${lispdir}; \
+           for installuser in $${LOGNAME} $${USERNAME} $${USER} \
+             `id -un 2> /dev/null`; do \
+              [ -n "$${installuser}" ] && break ; \
+           done ; \
+           find . -exec chown $${installuser} {} ';') ; \
        else true; fi
        -unset CDPATH; \
        if [ -n "${GZIP_PROG}" ]; \
@@ -708,51 +732,6 @@ extraclean:
        -rm -f config-tmp-*
        -rm -f *~ \#*
 
-### Unlocking and relocking.  The idea of these productions is to reduce
-### hassles when installing an incremental tar of Emacs.  Do `make unlock'
-### before unlocking the file to take the write locks off all sources so
-### that tar xvof will overwrite them without fuss.  Then do `make relock'
-### afterward so that VC mode will know which files should be checked in
-### if you want to mung them.
-###
-### Note: it's no disaster if these productions miss a file or two; tar
-### and VC will swiftly let you know if this happens, and it is easily
-### corrected.
-SOURCES = ChangeLog FTP INSTALL Makefile.in \
-       README configure make-dist move-if-change
-
-.PHONY: unlock relock
-
-unlock:
-       chmod u+w $(SOURCES)
-       -(cd elisp; chmod u+w Makefile README *.texi)
-       (cd etc; $(MAKE) $(MFLAGS) unlock)
-       (cd lib-src; $(MAKE) $(MFLAGS) unlock)
-       (cd lisp; $(MAKE) $(MFLAGS) unlock)
-       (cd lisp/term; chmod u+w README *.el)
-       (cd doc/emacs; chmod u+w *.texi ChangeLog)
-       (cd doc/misc; chmod u+w *.texi ChangeLog)
-       (cd doc/lispref; chmod u+w *texi* ChangeLog)
-       (cd doc/lispintro; chmod u+w *texi* ChangeLog)
-       (cd oldXMenu; chmod u+w *.[ch] Makefile README)
-       (cd lwlib; chmod u+w *.[ch] Makefile README)
-       (cd src; $(MAKE) $(MFLAGS) unlock)
-
-relock:
-       chmod u-w $(SOURCES)
-       -(cd elisp; chmod u-w Makefile README *.texi)
-       (cd etc; $(MAKE) $(MFLAGS) relock)
-       (cd lib-src; $(MAKE) $(MFLAGS) relock)
-       (cd lisp; $(MAKE) $(MFLAGS) relock)
-       (cd lisp/term; chmod u-w README *.el)
-       (cd doc/emacs; chmod u-w *.texi ChangeLog)
-       (cd doc/misc; chmod u-w *.texi ChangeLog)
-       (cd doc/lispref; chmod u-w *texi* ChangeLog)
-       (cd doc/lispintro; chmod u-w *texi* ChangeLog)
-       (cd oldXMenu; chmod u-w *.[ch] Makefile README)
-       (cd lwlib; chmod u-w *.[ch] Makefile README)
-       (cd src; $(MAKE) $(MFLAGS) relock)
-
 # The src subdir knows how to do the right thing
 # even when the build directory and source dir are different.
 TAGS tags: lib-src src
@@ -832,3 +811,13 @@ bootstrap-clean-before-fast: FRC
        -(cd doc/lispref &&   $(MAKE) $(MFLAGS) clean)
        -(cd doc/lispintro &&   $(MAKE) $(MFLAGS) clean)
        (cd leim;     $(MAKE) $(MFLAGS) clean)
+
+.PHONY: check-declare
+
+check-declare:
+       @if [ ! -e $(srcdir)/src/emacs ]; then \
+         echo "You must build Emacs to use this command"; \
+         exit 1; \
+       fi
+       (cd leim; $(MAKE) $(MFLAGS) $@)
+       (cd lisp; $(MAKE) $(MFLAGS) $@)