X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/c12ecb0af9679cc0e2fa0409931c34c035763469..3ecba0495e877769d3b29f67f0648af39352edb8:/lisp/makefile.w32-in diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index 71f5ce96b2..aebb8b352e 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in @@ -1,24 +1,21 @@ -# -*- Makefile -*- for GNU Emacs on the Microsoft W32 API. -# Copyright (C) 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007 Free Software Foundation, Inc. -# -# This file is part of GNU Emacs. -# -# GNU Emacs is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Emacs; see the file COPYING. If not, write to the -# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# +# -*- Makefile -*- for GNU Emacs on the Microsoft W32 API. +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +# 2009, 2010 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see . ALL = @@ -40,13 +37,33 @@ EMACS = $(THISDIR)/../bin/emacs.exe EMACSOPT = -batch --no-init-file --no-site-file --multibyte +# Extra flags to pass to the byte compiler +BYTE_COMPILE_EXTRA_FLAGS = +# For example to not display the undefined function warnings you can use this: +# BYTE_COMPILE_EXTRA_FLAGS = --eval '(setq byte-compile-warnings (quote (not unresolved)))' +# The example above is just for developers, it should not be used by default. + # Set EMACSLOADPATH correctly (already defined in environment). EMACSLOADPATH=$(lisp) +# Use C locale +LC_ALL = C + lisptagsfiles1 = $(lisp)/*.el lisptagsfiles2 = $(lisp)/*/*.el ETAGS = "../lib-src/$(BLD)/etags" +# Automatically generated autoload files, apart from lisp/loaddefs.el. +LOADDEFS = $(lisp)/calendar/cal-loaddefs.el \ + $(lisp)/calendar/diary-loaddefs.el $(lisp)/calendar/hol-loaddefs.el \ + $(lisp)/mh-e/mh-loaddefs.el + +AUTOGENEL = $(lisp)/loaddefs.el $(LOADDEFS) $(lisp)/cus-load.el \ + $(lisp)/finder-inf.el $(lisp)/subdirs.el $(lisp)/eshell/esh-groups.el \ + $(lisp)/calc/calc-loaddefs.el $(lisp)/nxml/subdirs.el \ + $(lisp)/cedet/semantic/loaddefs.el $(lisp)/cedet/ede/loaddefs.el \ + $(lisp)/cedet/srecode/loaddefs.el + # Files to compile before others during a bootstrap. This is done to # speed up the bootstrap process. The CC files are compiled first # because CC mode tweaks the compilation process, and requiring @@ -68,7 +85,18 @@ COMPILE_FIRST = \ emacs = "$(EMACS)" $(EMACSOPT) # Have to define the list of subdirs manually when not using sh. -WINS_ALMOST=\ +WINS_CEDET=\ + cedet \ + cedet/ede \ + cedet/semantic \ + cedet/srecode \ + cedet/semantic/analyze \ + cedet/semantic/bovine \ + cedet/semantic/decorate \ + cedet/semantic/symref \ + cedet/semantic/wisent + +WINS_BASIC=\ calc \ calendar \ emacs-lisp \ @@ -81,28 +109,64 @@ WINS_ALMOST=\ mail \ mh-e \ net \ + nxml \ + org \ play \ progmodes \ - term \ textmodes \ url -WINS= $(WINS_ALMOST) \ +# Directories with lisp files to compile, and to extract data from +# (customs, autoloads, etc.) +WINS_UPDATES=$(WINS_BASIC) \ + $(WINS_CEDET) + +# Directories to add to subdirs.el +WINS_SUBDIR=$(WINS_BASIC) \ + obsolete + +# All directories +WINS= $(WINS_UPDATES) \ + term \ obsolete doit: +cus-load.el-SH: + echo ";;; cus-load.el --- automatically extracted custom dependencies" > $@ + echo ";;" >> $@; echo ";;; Code:" >> $@ + echo " " >> $@ + echo ";; Local Variables:" >> $@ + echo ";; version-control: never" >> $@ + echo ";; no-byte-compile: t" >> $@ + echo ";; no-update-autoloads: t" >> $@ + echo ";; End:" >> $@ + +cus-load.el-CMD: + echo ;;; cus-load.el --- automatically extracted custom dependencies> $@ + echo ;;>> $@ + echo ;;; Code:>> $@ + echo. >> $@ + echo ;; Local Variables:>> $@ + echo ;; version-control: never>> $@ + echo ;; no-byte-compile: t>> $@ + echo ;; no-update-autoloads: t>> $@ + echo ;; End:>> $@ + $(lisp)/cus-load.el: - touch $@ + $(MAKE) $(MFLAGS) cus-load.el-$(SHELLTYPE) + mv cus-load.el-$(SHELLTYPE) $@ + # 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) + @echo Directories: $(WINS_UPDATES) + -$(emacs) -l cus-dep --eval $(ARGQUOTE)(setq find-file-hook nil)$(ARGQUOTE) \ + -f custom-make-dependencies $(lisp) $(WINS_UPDATES) finder-data: $(lisp)/loaddefs.el doit - @echo Directories: $(WINS) - $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS) + @echo Directories: $(WINS_UPDATES) + $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS_UPDATES) $(lisp)/loaddefs.el: $(MAKE) $(MFLAGS) loaddefs.el-$(SHELLTYPE) @@ -112,37 +176,26 @@ $(lisp)/loaddefs.el: loaddefs.el-SH: echo ";;; loaddefs.el --- automatically extracted autoloads" > $@ echo ";;" >> $@; echo ";;; Code:" >> $@ - echo "(autoload 'define-minor-mode \"easy-mmode\")" >>$@ - echo "(autoload 'define-ccl-program \"ccl\")" >>$@ - echo "(autoload 'regexp-opt \"regexp-opt\")" >>$@ - echo "(autoload 'string-to-list \"mule-util\")" >>$@ - echo "(autoload 'define-derived-mode \"derived\")" >>$@ - echo "(autoload 'encoded-kbd-mode \"encoded-kb\")" >>$@ - echo "(defvar cvs-global-menu nil)" >>$@ echo " " >> $@ - 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 ";; coding: utf-8" >> $@ + echo ";; End:" >> $@ echo ";;; loaddefs.el ends here" >> $@ loaddefs.el-CMD: echo ;;; loaddefs.el --- automatically extracted autoloads> $@ + echo ;;>> $@ echo ;;; Code:>> $@ - echo (autoload 'define-minor-mode "easy-mmode")>> $@ - echo (autoload 'define-ccl-program "ccl")>> $@ - echo (autoload 'regexp-opt "regexp-opt")>> $@ - echo (autoload 'string-to-list "mule-util")>> $@ - echo (autoload 'define-derived-mode "derived")>> $@ - echo (autoload 'encoded-kbd-mode "encoded-kb")>> $@ - echo (defvar cvs-global-menu nil)>> $@ echo. >> $@ - 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 ;; coding: utf-8>> $@ + echo ;; End:>> $@ echo ;;; loaddefs.el ends here>> $@ # Use . instead of $(lisp) because $(lisp) is an absolute file name, @@ -152,11 +205,11 @@ 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_ALMOST) +autoloads: $(lisp)/loaddefs.el $(LOADDEFS) doit + @echo Directories: . $(WINS_UPDATES) $(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_ALMOST) + -f w32-batch-update-autoloads "$(lisp)/loaddefs.el" $(MAKE) . $(WINS_UPDATES) $(lisp)/subdirs.el: $(MAKE) $(MFLAGS) update-subdirs @@ -169,19 +222,22 @@ update-subdirs-CMD: doit echo ;; In load-path, after this directory should come>> $(lisp)/subdirs.el echo ;; certain of its subdirectories. Here we specify them.>> $(lisp)/subdirs.el echo (normal-top-level-add-to-load-path $(SQUOTE)(>> $(lisp)/subdirs.el - @for %%d in ($(WINS)) do if not (%%d)==(term) echo "%%d">> $(lisp)/subdirs.el + @for %%d in ($(WINS_SUBDIR) cedet) do echo "%%d">> $(lisp)/subdirs.el echo ))>> $(lisp)/subdirs.el update-subdirs-SH: doit $(srcdir)/update-subdirs $(lisp); \ - for file in $(WINS); do \ + for file in $(WINS_SUBDIR); do \ $(srcdir)/update-subdirs $$file; \ done; updates: update-subdirs autoloads mh-autoloads finder-data custom-deps -# This is useful after "cvs up". -cvs-update: recompile autoloads finder-data custom-deps +# This is useful after "bzr up". +bzr-update: recompile autoloads finder-data custom-deps + +# For backwards compatibility: +cvs-update: bzr-update # Update the AUTHORS file. @@ -197,7 +253,7 @@ TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) .SUFFIXES: .elc .el .el.elc: - -$(emacs) -f batch-byte-compile $< + -$(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $< # Compile all Lisp files, but don't recompile those that are up to # date. Some files don't actually get compiled because they set the @@ -217,22 +273,22 @@ compile: $(lisp)/subdirs.el mh-autoloads compile-$(SHELLTYPE) doit compile-CMD: # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g for %%f in ($(COMPILE_FIRST)) do \ - $(emacs) -l loaddefs -f batch-byte-compile-if-not-done %%f + $(emacs) -l loaddefs $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile-if-not-done %%f for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do \ - $(emacs) -l loaddefs -f batch-byte-compile-if-not-done %%f/%%g + $(emacs) -l loaddefs $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g compile-SH: # for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done for el in $(COMPILE_FIRST); do \ echo Compiling $$el; \ - $(emacs) -l loaddefs -f batch-byte-compile-if-not-done $$el; \ + $(emacs) -l loaddefs $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile-if-not-done $$el; \ done for dir in $(lisp) $(WINS); do \ for el in $$dir/*.el; do \ if test -f $$el; \ then \ echo Compiling $$el; \ - $(emacs) -l loaddefs -f batch-byte-compile-if-not-done $$el; \ + $(emacs) -l loaddefs $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile-if-not-done $$el; \ fi \ done; \ done @@ -245,31 +301,31 @@ compile-always: $(lisp)/subdirs.el compile-always-$(SHELLTYPE) doit compile-always-CMD: # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g - for %%f in ($(COMPILE_FIRST)) do $(emacs) -f batch-byte-compile %%f - for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do $(emacs) -f batch-byte-compile %%f/%%g + for %%f in ($(COMPILE_FIRST)) do $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile %%f + for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile %%f/%%g compile-always-SH: # for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done for el in $(COMPILE_FIRST); do \ echo Compiling $$el; \ - $(emacs) -f batch-byte-compile $$el || exit 1; \ + $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $$el || exit 1; \ done for dir in $(lisp) $(WINS); do \ for el in $$dir/*.el; do \ echo Compiling $$el; \ - $(emacs) -f batch-byte-compile $$el || exit 1; \ + $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $$el || exit 1; \ done; \ done compile-calc: compile-calc-$(SHELLTYPE) compile-calc-CMD: - for %%f in ($(lisp)/calc/*.el) do $(emacs) -f batch-byte-compile %%f + for %%f in ($(lisp)/calc/*.el) do $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile %%f compile-calc-SH: for el in $(lisp)/calc/*.el; do \ echo Compiling $$el; \ - $(emacs) -f batch-byte-compile $$el || exit 1; \ + $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $$el || exit 1; \ done # Backup compiled Lisp files in elc.tar.gz. If that file already @@ -283,14 +339,41 @@ backup-compiled-files: compile-after-backup: backup-compiled-files compile-always +compile-first: $(lisp)/emacs-lisp/bytecomp.elc $(lisp)/emacs-lisp/byte-opt.elc \ + $(lisp)/emacs-lisp/autoload.elc + # 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. # 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 +recompile: compile-first autoloads doit $(lisp)/progmodes/cc-mode.elc $(emacs) --eval $(ARGQUOTE)(batch-byte-recompile-directory 0)$(ARGQUOTE) $(lisp) +$(lisp)/calendar/cal-loaddefs.el: + "$(EMACS)" $(EMACSOPT) -l autoload \ + --eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \ + --eval "(setq find-file-suppress-same-file-warnings t)" \ + --eval "(setq make-backup-files nil)" \ + -f w32-batch-update-autoloads "$(lisp)/calendar/cal-loaddefs.el" \ + $(MAKE) ./calendar + +$(lisp)/calendar/diary-loaddefs.el: + "$(EMACS)" $(EMACSOPT) -l autoload \ + --eval "(setq generate-autoload-cookie \";;;###diary-autoload\")" \ + --eval "(setq find-file-suppress-same-file-warnings t)" \ + --eval "(setq make-backup-files nil)" \ + -f w32-batch-update-autoloads $(lisp)/calendar/diary-loaddefs.el \ + $(MAKE) ./calendar + +$(lisp)/calendar/hol-loaddefs.el: + "$(EMACS)" $(EMACSOPT) -l autoload \ + --eval "(setq generate-autoload-cookie \";;;###holiday-autoload\")" \ + --eval "(setq find-file-suppress-same-file-warnings t)" \ + --eval "(setq make-backup-files nil)" \ + -f w32-batch-update-autoloads $(lisp)/calendar/hol-loaddefs.el \ + $(MAKE) ./calendar + # 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. @@ -312,52 +395,13 @@ MH_E_SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el \ # instead of $(lisp)/mh-e. 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) \ -l autoload \ - --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \ - --eval "(setq find-file-suppress-same-file-warnings t)" \ - --eval "(setq make-backup-files nil)" \ + --eval $(ARGQUOTE)(setq generate-autoload-cookie $(DQUOTE);;;###mh-autoload$(DQUOTE))$(ARGQUOTE) \ + --eval $(ARGQUOTE)(setq find-file-suppress-same-file-warnings t)$(ARGQUOTE) \ + --eval $(ARGQUOTE)(setq make-backup-files nil)$(ARGQUOTE) \ -f w32-batch-update-autoloads \ - "$(lisp)/mh-e/mh-loaddefs.el" ./mh-e - -pre-mh-loaddefs.el-SH: - echo ";;; mh-loaddefs.el --- automatically extracted autoloads" > $@ - echo ";;" >> $@ - 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 ";;; mh-loaddefs.el ends here" >> $@ - -pre-mh-loaddefs.el-CMD: - echo ;;; mh-loaddefs.el --- automatically extracted autoloads> $@ - echo ;;>> $@ - 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 ;;; mh-loaddefs.el ends here>> $@ + $(ARGQUOTE)$(lisp)/mh-e/mh-loaddefs.el$(ARGQUOTE) $(MAKE) ./mh-e # Prepare a bootstrap in the lisp subdirectory. # @@ -373,23 +417,18 @@ pre-mh-loaddefs.el-CMD: # sources only. # Need separate version for sh and native cmd.exe -# 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 +bootstrap-clean: + - $(DEL) $(lisp)/loaddefs.el $(MAKE) $(MFLAGS) bootstrap-clean-$(SHELLTYPE) bootstrap-clean-CMD: # 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 # -rm -f $(lisp)/*.elc $(lisp)/*/*.elc - cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el - -for dir in . $(WINS); do rm -f $$dir/*.elc; done + -for dir in . $(WINS); do rm -f $$dir/*.elc $$dir/*/*.elc $$dir/*/*/*.elc; done # Generate/update files for the bootstrap process. # When done, remove bootstrap-emacs from ../bin, so that @@ -439,10 +478,125 @@ install-lisp-CMD: for %%f in ($(WINS)) do cp -f %%f/*.el "$(INSTALL_DIR)/lisp/%%f" for %%f in (. $(WINS)) do cp -f %%f/*.elc "$(INSTALL_DIR)/lisp/%%f" +# 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. +check-declare: + $(emacs) -l $(lisp)/emacs-lisp/check-declare --eval $(ARGQUOTE)(check-declare-directory $(DQUOTE)$(lisp)$(DQUOTE))$(ARGQUOTE) + # # Maintenance # # We used to delete *~ here, but that might inadvertently remove # precious files if it happens to match their short 8+3 aliases. clean: - - $(DEL) *.el~ + - $(DEL) *.el~ + - $(DEL) calc/calc-loaddefs.el~ + - $(DEL) eshell/esh-groups.el~ + +distclean: clean + - $(DEL) $(lisp)/Makefile + +maintainer-clean: bootstrap-clean distclean + - $(DEL) $(AUTOGENEL) + +# Dependencies + +# CC Mode uses a compile time macro system which causes a compile time +# dependency in cc-*.elc files on the macros in other cc-*.el and the +# version string in cc-defs.el. +$(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-awk.elc\ + $(lisp)/progmodes/cc-cmds.elc $(lisp)/progmodes/cc-compat.elc\ + $(lisp)/progmodes/cc-engine.elc $(lisp)/progmodes/cc-fonts.elc\ + $(lisp)/progmodes/cc-langs.elc $(lisp)/progmodes/cc-menus.elc\ + $(lisp)/progmodes/cc-mode.elc $(lisp)/progmodes/cc-styles.elc\ + $(lisp)/progmodes/cc-vars.elc: \ + $(lisp)/progmodes/cc-bytecomp.elc $(lisp)/progmodes/cc-defs.elc + +$(lisp)/progmodes/cc-align.elc: \ + $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc + +$(lisp)/progmodes/cc-cmds.elc: \ + $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc + +$(lisp)/progmodes/cc-compat.elc: \ + $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-styles.elc \ + $(lisp)/progmodes/cc-engine.elc + +$(lisp)/progmodes/cc-defs.elc: $(lisp)/progmodes/cc-bytecomp.elc \ + $(lisp)/emacs-lisp/cl.elc $(lisp)/emacs-lisp/regexp-opt.elc + +$(lisp)/progmodes/cc-engine.elc: $(lisp)/progmodes/cc-langs.elc \ + $(lisp)/progmodes/cc-vars.elc + +$(lisp)/progmodes/cc-fonts.elc: $(lisp)/progmodes/cc-langs.elc \ + $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc \ + $(lisp)/font-lock.elc + +$(lisp)/progmodes/cc-langs.elc: $(lisp)/progmodes/cc-vars.elc \ + $(lisp)/emacs-lisp/cl.elc + +$(lisp)/progmodes/cc-mode.elc: $(lisp)/progmodes/cc-langs.elc \ + $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc \ + $(lisp)/progmodes/cc-styles.elc $(lisp)/progmodes/cc-cmds.elc \ + $(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-menus.elc + +$(lisp)/progmodes/cc-styles.elc: $(lisp)/progmodes/cc-vars.elc \ + $(lisp)/progmodes/cc-align.elc + +$(lisp)/progmodes/cc-vars.elc: $(lisp)/custom.elc $(lisp)/widget.elc + +# MH-E dependencies, mainly to prevent failures with parallel +# compilation, due to race conditions between writing a given FOO.elc +# file and another file being compiled that says "(require FOO)", +# which causes Emacs to try to read FOO.elc. +MH_E_DIR = ./mh-e +$(MH_E_DIR)/mh-alias.elc $(MH_E_DIR)/mh-comp.elc $(MH_E_DIR)/mh-folder.elc\ + $(MH_E_DIR)/mh-funcs.elc $(MH_E_DIR)/mh-identity.elc $(MH_E_DIR)/mh-inc.elc\ + $(MH_E_DIR)/mh-junk.elc $(MH_E_DIR)/mh-letter.elc $(MH_E_DIR)/mh-limit.elc\ + $(MH_E_DIR)/mh-mime.elc $(MH_E_DIR)/mh-print.elc $(MH_E_DIR)/mh-scan.elc\ + $(MH_E_DIR)/mh-search.elc $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-show.elc\ + $(MH_E_DIR)/mh-speed.elc $(MH_E_DIR)/mh-thread.elc $(MH_E_DIR)/mh-tool-bar.elc\ + $(MH_E_DIR)/mh-utils.elc $(MH_E_DIR)/mh-xface.elc:\ + $(MH_E_DIR)/mh-e.elc + +$(MH_E_DIR)/mh-alias.elc $(MH_E_DIR)/mh-e.elc $(MH_E_DIR)/mh-folder.elc\ + $(MH_E_DIR)/mh-inc.elc $(MH_E_DIR)/mh-junk.elc $(MH_E_DIR)/mh-limit.elc\ + $(MH_E_DIR)/mh-search.elc $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-speed.elc\ + $(MH_E_DIR)/mh-utils.elc $(MH_E_DIR)/mh-xface.elc:\ + $(lisp)/emacs-lisp/cl.elc + +$(MH_E_DIR)/mh-comp.elc $(MH_E_DIR)/mh-folder.elc $(MH_E_DIR)/mh-funcs.elc\ + $(MH_E_DIR)/mh-junk.elc $(MH_E_DIR)/mh-limit.elc $(MH_E_DIR)/mh-print.elc\ + $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-show.elc $(MH_E_DIR)/mh-thread.elc:\ + $(MH_E_DIR)/mh-scan.elc + +$(MH_E_DIR)/mh-folder.elc $(MH_E_DIR)/mh-letter.elc $(MH_E_DIR)/mh-mime.elc\ + $(MH_E_DIR)/mh-search.elc $(MH_E_DIR)/mh-show.elc $(MH_E_DIR)/mh-speed.elc:\ + $(lisp)/gnus/gnus-util.elc + +$(MH_E_DIR)/mh-folder.elc $(MH_E_DIR)/mh-search.elc:\ + $(lisp)/progmodes/which-func.elc + +$(MH_E_DIR)/mh-letter.elc $(MH_E_DIR)/mh-seq.elc $(MH_E_DIR)/mh-show.elc\ + $(MH_E_DIR)/mh-utils.elc:\ + $(lisp)/font-lock.elc + +$(MH_E_DIR)/mh-alias.elc $(MH_E_DIR)/mh-show.elc: $(lisp)/net/goto-addr.elc + +$(MH_E_DIR)/mh-comp.elc: $(lisp)/mail/sendmail.elc + +$(MH_E_DIR)/mh-e.elc: $(MH_E_DIR)/mh-buffers.elc $(lisp)/gnus/gnus.elc \ + $(lisp)/cus-face.elc + +$(MH_E_DIR)/mh-letter.elc: $(lisp)/gnus/mailcap.elc $(lisp)/gnus/mm-decode.elc \ + $(lisp)/gnus/mm-view.elc $(lisp)/gnus/mml.elc $(lisp)/gnus/message.elc + +$(MH_E_DIR)/mh-print.elc: $(lisp)/ps-print.elc + +$(MH_E_DIR)/mh-search.elc: $(lisp)/imenu.elc + +$(MH_E_DIR)/mh-show.elc: $(lisp)/gnus/gnus-cite.elc + +$(MH_E_DIR)/mh-speed.elc: $(lisp)/speedbar.elc $(lisp)/emacs-lisp/timer.elc + +$(MH_E_DIR)/mh-tool-bar.elc: $(lisp)/tool-bar.elc