X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/8129311330593d0492f6b8a51f56f344d707648f..aa260d631b3cbe96057a6b5e63cd226d3b03c638:/lisp/makefile.w32-in diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index 31e3144237..e3ea090d65 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in @@ -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,22 +81,26 @@ WINS=\ mail \ mh-e \ net \ - obsolete \ play \ progmodes \ term \ textmodes \ url +WINS= $(WINS_ALMOST) \ + obsolete + doit: $(lisp)/cus-load.el: touch $@ -custom-deps: $(lisp)/cus-load.el doit +# 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 $(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) @@ -150,14 +149,14 @@ loaddefs.el-CMD: # including a drive letter and any leading directories, so the generated # loaddefs.el will mention file names that on other machine reference # possibly non-existent directories. +# +# 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 \ - generated-autoload-file \ - $(DQUOTE)$(lisp)/loaddefs.el$(DQUOTE))$(ARGQUOTE) \ - -f batch-update-autoloads . $(WINS) + --eval $(ARGQUOTE)(setq find-file-hook nil find-file-suppress-same-file-warnings t)$(ARGQUOTE) \ + -f w32-batch-update-autoloads "$(lisp)/loaddefs.el" . $(WINS_ALMOST) $(lisp)/subdirs.el: $(MAKE) $(MFLAGS) update-subdirs @@ -181,6 +180,9 @@ update-subdirs-SH: doit updates: update-subdirs autoloads mh-autoloads finder-data custom-deps +# This is useful after "cvs up". +cvs-update: recompile autoloads finder-data custom-deps + # Update the AUTHORS file. update-authors: @@ -284,70 +286,75 @@ compile-after-backup: backup-compiled-files compile-always # Recompile all Lisp files which are newer than their .elc files. # Note that this doesn't create .elc files. It only recompiles if an # .elc is present. - -recompile: mh-autoloads doit - $(emacs) -f batch-byte-recompile-directory $(lisp) +# 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. +recompile: mh-autoloads doit $(lisp)/progmodes/cc-mode.elc + $(emacs) --eval $(ARGQUOTE)(batch-byte-recompile-directory 0)$(ARGQUOTE) $(lisp) # Update MH-E internal autoloads. These are not to be confused with # 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-comp.el $(lisp)/mh-e/mh-customize.el \ - $(lisp)/mh-e/mh-e.el $(lisp)/mh-e/mh-funcs.el \ - $(lisp)/mh-e/mh-mime.el $(lisp)/mh-e/mh-pick.el \ - $(lisp)/mh-e/mh-print.el $(lisp)/mh-e/mh-inc.el \ - $(lisp)/mh-e/mh-init.el $(lisp)/mh-e/mh-index.el \ - $(lisp)/mh-e/mh-identity.el $(lisp)/mh-e/mh-junk.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 generated-autoload-file \"$(lisp)/mh-e/mh-loaddefs.el\")" \ --eval "(setq find-file-suppress-same-file-warnings t)" \ --eval "(setq make-backup-files nil)" \ - -f batch-update-autoloads $(lisp)/mh-e + -f w32-batch-update-autoloads \ + "$(lisp)/mh-e/mh-loaddefs.el" $(lisp)/mh-e pre-mh-loaddefs.el-SH: echo ";;; mh-loaddefs.el --- automatically extracted autoloads" > $@ echo ";;" >> $@ - echo ";;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc." >> $@ - echo ";;; Author: Bill Wohler " >> $@ - echo ";;; Keywords: mail" >> $@ + echo ";; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc." >> $@ + echo ";; Author: Bill Wohler " >> $@ + echo ";; Keywords: mail" >> $@ echo ";;; Commentary:" >> $@ echo ";;; Change Log:" >> $@ echo ";;; Code:" >> $@ echo " " >> $@ echo "(provide 'mh-loaddefs)" >> $@ - echo ";;; Local Variables:" >> $@ - echo ";;; version-control: never" >> $@ - echo ";;; no-byte-compile: t" >> $@ - echo ";;; no-update-autoloads: t" >> $@ - echo ";;; End:" >> $@ + echo ";; Local Variables:" >> $@ + echo ";; version-control: never" >> $@ + echo ";; no-byte-compile: t" >> $@ + echo ";; no-update-autoloads: t" >> $@ + echo ";; End:" >> $@ echo ";;; mh-loaddefs.el ends here" >> $@ pre-mh-loaddefs.el-CMD: echo ;;; mh-loaddefs.el --- automatically extracted autoloads> $@ echo ;;>> $@ - echo ;;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.>> $@ - echo ;;; Author: Bill Wohler (wohler@newt.com)>> $@ - echo ;;; Keywords: mail>> $@ + echo ;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.>> $@ + echo ;; Author: Bill Wohler (wohler@newt.com)>> $@ + echo ;; Keywords: mail>> $@ echo ;;; Commentary:>> $@ echo ;;; Change Log:>> $@ echo ;;; Code:>> $@ echo. >> $@ echo (provide 'mh-loaddefs)>> $@ - echo ;;; Local Variables:>> $@ - echo ;;; version-control: never>> $@ - echo ;;; no-byte-compile: t>> $@ - echo ;;; no-update-autoloads: t>> $@ - echo ;;; End:>> $@ + echo ;; Local Variables:>> $@ + echo ;; version-control: never>> $@ + echo ;; no-byte-compile: t>> $@ + echo ;; no-update-autoloads: t>> $@ + echo ;; End:>> $@ echo ;;; mh-loaddefs.el ends here>> $@ # Prepare a bootstrap in the lisp subdirectory. @@ -364,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 @@ -382,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