* gnus-vers.el (gnus-revision-number): Increment to 05.
[elisp/gnus.git-] / lisp / Makefile.in
index aadcaeb..0bac6c5 100644 (file)
@@ -13,27 +13,51 @@ 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) $(FLAGS) -f dgnushack-exporting-files 2>/dev/null
+EXPORTING_FILES = $(EMACS_COMP) -f dgnushack-exporting-files 2>/dev/null
 
-all total:
-       rm -f *.elc auto-autoloads.el custom-load.el
-       W3DIR=$(W3DIR) lispdir=$(lispdir) \
-               srcdir=$(srcdir) $(EMACS) $(FLAGS) -f dgnushack-compile
+# 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.
 
-warn:
-       rm -f *.elc
-       W3DIR=$(W3DIR) lispdir=$(lispdir) srcdir=$(srcdir) $(EMACS) $(FLAGS) --eval '(dgnushack-compile t)' 2>&1 | egrep -v "variable G|inhibit-point-motion-hooks|coding-system|temp-results|variable gnus|variable nn|scroll-in-place|deactivate-mark|filladapt-mode|byte-code-function-p|print-quoted|ps-right-header|ps-left-header|article-inhibit|print-escape|ssl-program-arguments|message-log-max"
+all total: clean-some gnus-load.elc
+       $(EMACS_COMP) -f dgnushack-compile
+
+clean-some:
+       rm -f *.elc gnus-load.el
+
+warn: clean-some gnus-load.elc
+       $(EMACS_COMP) --eval '(dgnushack-compile t)' 2>&1 | egrep -v "variable G|inhibit-point-motion-hooks|coding-system|temp-results|variable gnus|variable nn|scroll-in-place|deactivate-mark|filladapt-mode|byte-code-function-p|print-quoted|ps-right-header|ps-left-header|article-inhibit|print-escape|ssl-program-arguments|message-log-max"
 
 # The "clever" rule is unsafe, since redefined macros are loaded from
 # .elc files, and not the .el file.
-clever some:
-       W3DIR=$(W3DIR) lispdir=$(lispdir) \
-               srcdir=$(srcdir) $(EMACS) $(FLAGS) -f dgnushack-compile
+clever some: gnus-load.elc
+       @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: clever install-lisp
+install: clever install-without-compiling
 
-install-lisp:
+install-without-compiling:
        $(SHELL) $(top_srcdir)/mkinstalldirs $(lispdir)
        @for p in `$(EXPORTING_FILES)`; do \
          echo " $(INSTALL_DATA) $$p $(lispdir)/$$p"; \
@@ -46,16 +70,14 @@ install-lisp:
 
 # Rule for XEmacs package.
 install-package-manifest:
-       srcdir=$(srcdir) $(EMACS) $(FLAGS) \
-               -f dgnushack-install-package-manifest \
+       $(EMACS_COMP) -f dgnushack-install-package-manifest \
                $(PACKAGEDIR) $(GNUS_PRODUCT_NAME)
 
-compose-package:
-       srcdir=$(srcdir) $(EMACS) $(FLAGS) -f dgnushack-make-autoloads
+compose-package: gnus-load.elc
+       $(EMACS_COMP) -f dgnushack-compose-package
 
 remove-extra-files-in-package:
-       srcdir=$(srcdir) $(EMACS) $(FLAGS) \
-               -f dgnushack-remove-extra-files-in-package \
+       $(EMACS_COMP) -f dgnushack-remove-extra-files-in-package \
                $(PACKAGEDIR) $(GNUS_PRODUCT_NAME)
 #
 
@@ -76,21 +98,14 @@ separately:
 pot:
        xpot -drgnus -r`cat ./version` *.el > rgnus.pot
 
-gnus-load.el:
-       echo ";;; gnus-load.el --- automatically extracted custom dependencies" > gnus-load.el
-       echo ";;" >> gnus-load.el
-       echo ";;; Code:" >> gnus-load.el
-       echo >> gnus-load.el
-       $(EMACS)  $(FLAGS) -l ./dgnushack.el -l cus-edit.el *.el \
-               -f custom-make-dependencies >> gnus-load.el
-       echo >> gnus-load.el
-       echo "(provide 'gnus-load)" >> gnus-load.el
-       echo >> gnus-load.el
-       echo ";;; gnus-load.el ends here" >> gnus-load.el
+gnus-load.elc:
+       $(EMACS_COMP) -f dgnushack-make-cus-load $(srcdir)
+       $(EMACS_COMP) -f dgnushack-make-auto-load $(srcdir)
+       $(EMACS_COMP) -f dgnushack-make-load
 
 clean:
-       rm -f *.orig *.rej *.elc *~
-       rm -f auto-autoloads.el custom-load.el
+       rm -f *.orig *.rej *.elc *~ \
+               auto-autoloads.el custom-load.el gnus-load.el dgnuskwds.el
 
 distclean: clean
        rm -f Makefile dgnuspath.el