]> code.delx.au - gnu-emacs/blobdiff - lisp/makefile.w32-in
Merge from gnus--rel--5.10
[gnu-emacs] / lisp / makefile.w32-in
index 2023b3469f76a5c05f662c337d743c39073fba4f..e3ea090d652933c7151c3bd5f508b7e2927f218c 100644 (file)
@@ -1,6 +1,6 @@
 #  -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
 #  Copyright (C) 2000, 2001, 2002, 2003, 2004,
-#                2005 Free Software Foundation, Inc.
+#                2005, 2006, 2007  Free Software Foundation, Inc.
 #
 #  This file is part of GNU Emacs.
 #
@@ -33,7 +33,7 @@ srcdir = $(CURDIR)/..
 # You can specify a different executable on the make command line,
 # e.g. "make EMACS=../src/emacs ...".
 
-EMACS = "$(THISDIR)/../bin/emacs.exe"
+EMACS = $(THISDIR)/../bin/emacs.exe
 
 # Command line flags for Emacs.  This must include --multibyte,
 # otherwise some files will not compile.
@@ -61,24 +61,19 @@ COMPILE_FIRST = \
        $(lisp)/progmodes/cc-vars.el
 
 # The actual Emacs command run in the targets below.
+# The quotes around $(EMACS) are here because the user could type
+# it with forward slashes and without quotes, which will fail if
+# the shell is cmd.exe.
 
-emacs = $(EMACS) $(EMACSOPT)
-
-# Common command to find subdirectories
-
-setwins=subdirs=`find $$wd -type d -print`; \
-       for file in $$subdirs; do \
-          case $$file in */Old | */RCS | */CVS | */CVS/* | */=* ) ;; \
-               *) wins="$$wins $$file" ;; \
-          esac; \
-        done
+emacs = "$(EMACS)" $(EMACSOPT)
 
 # Have to define the list of subdirs manually when not using sh.
-WINS=\
+WINS_ALMOST=\
        calc \
        calendar \
        emacs-lisp \
        emulation \
+       erc \
        eshell \
        gnus \
        international \
@@ -86,24 +81,26 @@ WINS=\
        mail \
        mh-e \
        net \
-       obsolete \
        play \
        progmodes \
        term \
        textmodes \
        url
 
+WINS= $(WINS_ALMOST) \
+       obsolete
+
 doit:
 
 $(lisp)/cus-load.el:
        touch $@
 # WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
 #          this can break with GNU Make 3.81 and later if sh.exe is used.
-custom-deps: $(lisp)/cus-load.el doit
+custom-deps: $(lisp)/cus-load.el $(lisp)/loaddefs.el doit
        @echo Directories: $(WINS)
        -$(emacs) -l cus-dep --eval $(ARGQUOTE)(setq find-file-hook nil)$(ARGQUOTE) -f custom-make-dependencies $(lisp) $(WINS)
 
-finder-data: doit
+finder-data: $(lisp)/loaddefs.el doit
        @echo Directories: $(WINS)
        $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS)
 
@@ -156,10 +153,10 @@ loaddefs.el-CMD:
 # WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as
 #          this can break with GNU Make 3.81 and later if sh.exe is used.
 autoloads: $(lisp)/loaddefs.el doit
-       @echo Directories: . $(WINS)
+       @echo Directories: . $(WINS_ALMOST)
        $(emacs) -l autoload \
                --eval $(ARGQUOTE)(setq find-file-hook nil find-file-suppress-same-file-warnings t)$(ARGQUOTE) \
-               -f w32-batch-update-autoloads "$(lisp)/loaddefs.el" . $(WINS)
+               -f w32-batch-update-autoloads "$(lisp)/loaddefs.el" . $(WINS_ALMOST)
 
 $(lisp)/subdirs.el:
        $(MAKE) $(MFLAGS) update-subdirs
@@ -298,21 +295,25 @@ recompile: mh-autoloads doit $(lisp)/progmodes/cc-mode.elc
 # the autoloads for the MH-E entry points, which are already in
 # loaddefs.el.
 MH_E_SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el   \
-       $(lisp)/mh-e/mh-buffers.el $(lisp)/mh-e/mh-comp.el      \
-       $(lisp)/mh-e/mh-customize.el $(lisp)/mh-e/mh-e.el       \
-       $(lisp)/mh-e/mh-funcs.el $(lisp)/mh-e/mh-identity.el    \
-       $(lisp)/mh-e/mh-inc.el $(lisp)/mh-e/mh-init.el          \
-       $(lisp)/mh-e/mh-junk.el $(lisp)/mh-e/mh-mime.el         \
-       $(lisp)/mh-e/mh-print.el $(lisp)/mh-e/mh-search.el      \
-       $(lisp)/mh-e/mh-seq.el $(lisp)/mh-e/mh-speed.el         \
-       $(lisp)/mh-e/mh-utils.el
+       $(lisp)/mh-e/mh-buffers.el $(lisp)/mh-e/mh-compat.el    \
+       $(lisp)/mh-e/mh-comp.el $(lisp)/mh-e/mh-e.el            \
+       $(lisp)/mh-e/mh-folder.el $(lisp)/mh-e/mh-funcs.el      \
+       $(lisp)/mh-e/mh-gnus.el $(lisp)/mh-e/mh-identity.el     \
+       $(lisp)/mh-e/mh-inc.el $(lisp)/mh-e/mh-junk.el          \
+       $(lisp)/mh-e/mh-letter.el $(lisp)/mh-e/mh-limit.el      \
+       $(lisp)/mh-e/mh-mime.el $(lisp)/mh-e/mh-print.el        \
+       $(lisp)/mh-e/mh-scan.el $(lisp)/mh-e/mh-search.el       \
+       $(lisp)/mh-e/mh-seq.el $(lisp)/mh-e/mh-show.el          \
+       $(lisp)/mh-e/mh-speed.el $(lisp)/mh-e/mh-thread.el      \
+       $(lisp)/mh-e/mh-tool-bar.el $(lisp)/mh-e/mh-utils.el    \
+       $(lisp)/mh-e/mh-xface.el
 
 mh-autoloads: $(lisp)/mh-e/mh-loaddefs.el
 $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC)
        $(MAKE) $(MFLAGS) pre-mh-loaddefs.el-$(SHELLTYPE)
        cp pre-mh-loaddefs.el-$(SHELLTYPE) $@
        rm pre-mh-loaddefs.el-$(SHELLTYPE)
-       $(EMACS) $(EMACSOPT) \
+       "$(EMACS)" $(EMACSOPT) \
           -l autoload \
           --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \
           --eval "(setq find-file-suppress-same-file-warnings t)" \
@@ -323,7 +324,7 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC)
 pre-mh-loaddefs.el-SH:
        echo ";;; mh-loaddefs.el --- automatically extracted autoloads" > $@
        echo ";;" >> $@
-       echo ";; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc." >> $@
+       echo ";; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc." >> $@
        echo ";; Author: Bill Wohler <wohler@newt.com>" >> $@
        echo ";; Keywords: mail" >> $@
        echo ";;; Commentary:" >> $@
@@ -341,7 +342,7 @@ pre-mh-loaddefs.el-SH:
 pre-mh-loaddefs.el-CMD:
        echo ;;; mh-loaddefs.el --- automatically extracted autoloads> $@
        echo ;;>> $@
-       echo ;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.>> $@
+       echo ;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.>> $@
        echo ;; Author: Bill Wohler (wohler@newt.com)>> $@
        echo ;; Keywords: mail>> $@
        echo ;;; Commentary:>> $@
@@ -370,15 +371,20 @@ pre-mh-loaddefs.el-CMD:
 # sources only.
 
 # Need separate version for sh and native cmd.exe
-bootstrap-clean: bootstrap-clean-$(SHELLTYPE) $(lisp)/loaddefs.el
+# Note that bootstrap-clean-$(SHELLTYPE) copies ldefs-boot.el to loaddefs.el,
+# and thus the almost-empty loaddefs.el crafted by the $(lisp)/loaddefs.el
+# target can NOT be built _after_ bootstrap-clean-$(SHELLTYPE) does its
+# thing, or else an empty loaddefs.el will overwrite the full one.
+bootstrap-clean: $(lisp)/loaddefs.el
+       $(MAKE) $(MFLAGS) bootstrap-clean-$(SHELLTYPE)
 
 bootstrap-clean-CMD:
-#      if exist $(EMACS) $(MAKE) $(MFLAGS) autoloads
+#      if exist "$(EMACS)" $(MAKE) $(MFLAGS) autoloads
        cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el
        -for %%f in (. $(WINS)) do for %%g in (%%f\*.elc) do @$(DEL) %%g
 
 bootstrap-clean-SH:
-#      if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi
+#      if test -f "$(EMACS)"; then $(MAKE) $(MFLAGS) autoloads; fi
 #      -rm -f $(lisp)/*.elc $(lisp)/*/*.elc
        cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el
        -for dir in . $(WINS); do rm -f $$dir/*.elc; done
@@ -388,7 +394,7 @@ bootstrap-clean-SH:
 # it will not be mistaken for an installed binary.
 
 bootstrap: update-subdirs autoloads mh-autoloads compile finder-data custom-deps
-       - $(DEL) $(EMACS)
+       - $(DEL) "$(EMACS)"
 
 #
 # Assuming INSTALL_DIR is defined, copy the elisp files to it