# 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.
$(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)
+emacs = "$(EMACS)" $(EMACSOPT)
# Common command to find subdirectories
calendar \
emacs-lisp \
emulation \
+ erc \
eshell \
gnus \
international \
$(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
@echo Directories: $(WINS)
-$(emacs) -l cus-dep --eval $(ARGQUOTE)(setq find-file-hook nil)$(ARGQUOTE) -f custom-make-dependencies $(lisp) $(WINS)
echo ;;; End:>> $@
echo ;;; loaddefs.el ends here>> $@
+# Use . instead of $(lisp) because $(lisp) is an absolute file name,
+# 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)
$(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 $(lisp) $(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)
$(lisp)/subdirs.el:
$(MAKE) $(MFLAGS) update-subdirs
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:
# 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 <wohler@newt.com>" >> $@
- echo ";;; Keywords: mail" >> $@
+ echo ";; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc." >> $@
+ echo ";; Author: Bill Wohler <wohler@newt.com>" >> $@
+ echo ";; Keywords: mail" >> $@
echo ";;; Commentary:" >> $@
echo ";;; Change Log:" >> $@
echo ";;; Code:" >> $@
echo "\f" >> $@
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 Free Software Foundation, Inc.>> $@
+ echo ;; Author: Bill Wohler (wohler@newt.com)>> $@
+ echo ;; Keywords: mail>> $@
echo ;;; Commentary:>> $@
echo ;;; Change Log:>> $@
echo ;;; Code:>> $@
echo.\f>> $@
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.
bootstrap-clean: bootstrap-clean-$(SHELLTYPE) $(lisp)/loaddefs.el
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
# 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