(lib-src, lisp): Use simpler rule.
[bpt/emacs.git] / Makefile.in
index c99d091..1403660 100644 (file)
@@ -3,7 +3,7 @@
 # DIST: that first.
 
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-#   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+#   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
 #   Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
@@ -125,10 +125,14 @@ sharedstatedir=@sharedstatedir@
 # data.         ${archlibdir} is a subdirectory of this.
 libexecdir=@libexecdir@
 
-# Where to install Emacs's man pages, and what extension they should have.
+# Where to install Emacs's man pages.
+# This used to allow choice of the numeric extension, but this made
+# little sense since the files were always installed in man1/
+# (and they contain cross-references that expect them to be there).
 mandir=@mandir@
-manext=.1
 man1dir=$(mandir)/man1
+MAN_PAGES=b2m.1 ctags.1 ebrowse.1 emacs.1 emacsclient.1 etags.1 \
+          grep-changelog.1 rcs-checkin.1
 
 # Where to install and expect the info files describing Emacs. In the
 # past, this defaulted to a subdirectory of ${prefix}/lib/emacs, but
@@ -138,9 +142,9 @@ infodir=@infodir@
 INFO_FILES=ada-mode autotype calc ccmode cl dbus dired-x ebrowse ediff \
            efaq eintr elisp emacs emacs-mime epa erc eshell eudc       \
            flymake forms gnus idlwave info mairix-el message mh-e      \
-           newsticker ns-emacs nxml-mode org pcl-cvs pgg rcirc reftex  \
-           remember sasl sc ses sieve speedbar tramp vip viper widget  \
-           woman smtpmail url
+           newsticker nxml-mode org pcl-cvs pgg rcirc reftex remember  \
+           sasl sc ses sieve speedbar tramp vip viper widget woman     \
+           smtpmail url
 
 # Directory for local state files for all programs.
 localstatedir=@localstatedir@
@@ -316,6 +320,12 @@ src:       lib-src FRC
 # We need to build `emacs' in `src' to compile the *.elc files in `lisp'.
 lisp: src
 
+# These targets should be "${SUBDIR} without `src'".
+lib-src lisp: Makefile FRC
+       cd $@; $(MAKE) all $(MFLAGS)                           \
+         CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
+         LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'
+
 # Pass to src/Makefile.in an additional BOOTSTRAPEMACS variable which
 # is either set to bootstrap-emacs (in case bootstrap-emacs has not been
 # constructed yet) or the empty string (otherwise).
@@ -325,12 +335,16 @@ lisp: src
 # file src/foo.c forces dumping a new bootstrap-emacs, then re-byte-compiling
 # all preloaded elisp files, and only then dump the actual src/emacs, which
 # is not wrong, but is overkill in 99.99% of the cases.
-${SUBDIR}: Makefile FRC
+src: Makefile FRC
        boot=bootstrap-emacs$(EXEEXT);                         \
-       if [ -x "src/$$boot" ]; then boot=""; fi;                   \
+       if [ ! -x "src/$$boot" ]; then                                     \
+           cd $@; $(MAKE) all $(MFLAGS)                                   \
+             CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}'         \
+             LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot"; \
+       fi;                                                                \
        cd $@; $(MAKE) all $(MFLAGS)                           \
          CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
-         LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS="$$boot"
+         LDFLAGS='${LDFLAGS}' MAKE='${MAKE}' BOOTSTRAPEMACS=""
 
 blessmail: Makefile src FRC
        cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) \
@@ -389,6 +403,8 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
 install: all install-arch-indep install-arch-dep install-leim blessmail
        @true
 
+MV_DIRS = for i in $$dir; do rm -fr $$(basename "$$i") ; mv "$$i" . ; done
+
 ### Install the executables that were compiled specifically for this machine.
 ### It would be nice to do something for a parallel make
 ### to ensure that install-arch-indep finishes before this starts.
@@ -410,10 +426,11 @@ install-arch-dep: mkdir
        done
        if test "${ns_appdir}" != ""; then \
          ( cd ${ns_appresdir} ; \
-           if test -d share/emacs ; then mv -f share/emacs/*/* . ; fi ; \
-           if test -d share/info ; then mv -f share/info . ; fi ; \
+           if test -d share/emacs ; then dir=share/emacs/*/*; $(MV_DIRS); fi;\
+           if test -d share/info ; then dir=share/info; $(MV_DIRS) ; fi ; \
            rm -fr share ) ; \
-         ( cd ${ns_appbindir}/libexec ; mv -f emacs/*/*/* . ; rm -fr emacs ) ; \
+         ( cd ${ns_appbindir}/libexec ; dir=emacs/*/*/* ; $(MV_DIRS); \
+           rm -fr emacs ) ; \
          ( cd ${ns_appbindir}/bin ; rm -f emacs emacs-23* ; \
            ln -sf ../libexec/* .) ; \
        else true ; fi
@@ -571,10 +588,10 @@ install-arch-indep: mkdir info install-etc
        -chmod -R a+r $(DESTDIR)${datadir}/emacs/${version} $(DESTDIR)${datadir}/emacs/site-lisp ${COPYDESTS} $(DESTDIR)${infodir}
        thisdir=`/bin/pwd`; \
        cd ${mansrcdir}; \
-       for page in emacs emacsclient etags ctags ; do \
+       for page in ${MAN_PAGES}; do \
          (cd $${thisdir}; \
-          ${INSTALL_DATA} ${mansrcdir}/$${page}.1 $(DESTDIR)${man1dir}/$${page}${manext}; \
-          chmod a+r $(DESTDIR)${man1dir}/$${page}${manext}); \
+          ${INSTALL_DATA} ${mansrcdir}/$${page} $(DESTDIR)${man1dir}/$${page}; \
+          chmod a+r $(DESTDIR)${man1dir}/$${page}); \
        done
 
 ## Install those items from etc/ that need to end up elsewhere.
@@ -656,9 +673,14 @@ uninstall:
              rm -f $$f; \
            done; \
          done;)
-       (cd $(DESTDIR)${man1dir}  && rm -f emacs${manext} emacsclient${manext} etags${manext} ctags${manext})
+       (cd $(DESTDIR)${man1dir}  && rm -f $(MAN_PAGES))
        (cd $(DESTDIR)${bindir}  && rm -f $(EMACSFULL) $(EMACS))
-
+       (cd $(DESTDIR)${icondir} && rm -f hicolor/*x*/apps/emacs.png hicolor/*x*/apps/emacs22.png hicolor/scalable/apps/emacs.svg hicolor/scalable/mimetypes/emacs-document.svg )
+       -rm -f $(DESTDIR)${desktopdir}/emacs.desktop
+       for file in snake-scores tetris-scores; do \
+         file=$(DESTDIR)${gamedir}/$${file}; \
+         [ -s $${file} ] || rm -f $$file; \
+       done
 
 FRC: