Synch with Oort Gnus.
[elisp/gnus.git-] / lisp / Makefile.in
index 374a730..ca38edb 100644 (file)
@@ -11,9 +11,16 @@ INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 SHELL = /bin/sh
 VPATH = @srcdir@
+PACKAGEDIR = @PACKAGEDIR@
 W3DIR = @W3@
 URLDIR = @URL@
 EMACS_COMP = URLDIR=$(URLDIR) W3DIR=$(W3DIR) lispdir=$(lispdir) srcdir=$(srcdir) $(EMACS) $(FLAGS)
+GNUS_PRODUCT_NAME = @GNUS_PRODUCT_NAME@
+EXPORTING_FILES = $(EMACS_COMP) -f dgnushack-exporting-files 2>/dev/null
+
+# We should never use `COMMAND && ...' form, use `if COMMAND then ...'
+# form instead.  Because, as far as we know, FreeBSD's native make will
+# be discontinued if COMMAND returns a non-zero exit status.
 
 all total: clean-some gnus-load.el
        $(EMACS_COMP) -f dgnushack-compile
@@ -26,40 +33,62 @@ warn: clean-some gnus-load.el
 
 # The "clever" rule is unsafe, since redefined macros are loaded from
 # .elc files, and not the .el file.
-clever some: gnus-load.el
+clever some l: gnus-load.el
+       @if test -f $(srcdir)/gnus.elc; then \
+         echo \
+           "checking whether the all elc files should be recompiled..."; \
+         RM_ELC=nil; \
+         if test `$(EMACS) -batch -q -no-site-file \
+               -eval '(prin1 (featurep (quote xemacs)))' \
+               2>/dev/null` = t; then \
+           if test ! -f $(srcdir)/gnus-xmas.elc; then RM_ELC=t; fi; \
+         else \
+           if test -f $(srcdir)/gnus-xmas.elc; then RM_ELC=t; fi; \
+         fi; \
+         if test $$RM_ELC = t; then \
+           echo " => maybe yes;" \
+               "rm -f *.elc auto-autoloads.el custom-load.el"; \
+           rm -f *.elc auto-autoloads.el custom-load.el; \
+         else \
+           echo " => maybe unnecessary"; \
+         fi; \
+       fi
        $(EMACS_COMP) -f dgnushack-compile
 
-install: install-el install-elc 
+install: clever install-without-compiling
 
-install-el: gnus-load.el
+install-without-compiling:
        $(SHELL) $(top_srcdir)/mkinstalldirs $(lispdir)
-       echo " $(INSTALL_DATA) gnus-load.el $(lispdir)/gnus-load.el"
-       $(INSTALL_DATA) gnus-load.el $(lispdir)/gnus-load.el
-       for p in *.elc; do \
-         p=`basename $$p c`; \
-         if [ -f "$(srcdir)/$$p" ]; then \
-           echo " $(INSTALL_DATA) $$p $(lispdir)/$$p"; \
-           $(INSTALL_DATA) $(srcdir)/$$p $(lispdir)/$$p; \
+       @for p in `$(EXPORTING_FILES)`; do \
+         echo " $(INSTALL_DATA) $$p $(lispdir)/$$p"; \
+         $(INSTALL_DATA) $$p $(lispdir)/$$p; \
+         if test -f $$p"c"; then \
+           echo " $(INSTALL_DATA) $$p""c"" $(lispdir)/$$p""c"; \
+           $(INSTALL_DATA) $$p"c" $(lispdir)/$$p"c"; \
          fi; \
        done
 
-install-elc: clever
-       rm -f dgnushack.elc
+# Rule for XEmacs package.
+install-package-manifest:
+       $(EMACS_COMP) -f dgnushack-install-package-manifest \
+               $(PACKAGEDIR) $(GNUS_PRODUCT_NAME)
+
+compose-package: gnus-load.el
+       $(EMACS_COMP) -f dgnushack-compose-package
+
+remove-extra-files-in-package:
+       $(EMACS_COMP) -f dgnushack-remove-extra-files-in-package \
+               $(PACKAGEDIR) $(GNUS_PRODUCT_NAME)
+#
+
+install-el:
        $(SHELL) $(top_srcdir)/mkinstalldirs $(lispdir)
-       for p in *.elc; do \
+       cd $(srcdir) \
+       && for p in *.el; do \
          echo " $(INSTALL_DATA) $$p $(lispdir)/$$p"; \
          $(INSTALL_DATA) $$p $(lispdir)/$$p; \
        done
 
-uninstall:
-       for p in *.elc; do \
-         rm -f "$(lispdir)/$$p"; \
-       done
-       cd $(srcdir); \
-       for p in *.el; do \
-         rm -f "$(lispdir)/$$p"; \
-       done
-
 tags:
        etags *.el
 
@@ -74,8 +103,12 @@ gnus-load.el:
        $(EMACS_COMP) -f dgnushack-make-auto-load $(srcdir)
        $(EMACS_COMP) -f dgnushack-make-load
 
-distclean:
-       rm -f *.orig *.rej *.elc *~ Makefile
+clean:
+       rm -f *.orig *.rej *.elc *~ \
+               auto-autoloads.el custom-load.el gnus-load.el dgnuskwds.el
+
+distclean: clean
+       rm -f Makefile dgnuspath.el
 
 Makefile: $(srcdir)/Makefile.in ../config.status
        cd .. \