X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/8fb8c4f3735ac3b1b61bd3472a7ba2ad35d1dad5..a908f3e2243a7ac8bad75204a5be2b93bbbc749e:/lisp/Makefile.in diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 2ac2f3e8d6..8df050ce07 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -1,6 +1,6 @@ ### @configure_input@ -# Copyright (C) 2000-2013 Free Software Foundation, Inc. +# Copyright (C) 2000-2014 Free Software Foundation, Inc. # This file is part of GNU Emacs. @@ -74,12 +74,13 @@ AUTOGENEL = loaddefs.el \ # Note that update_loaddefs parses this. AUTOGEN_VCS = \ ps-print.el \ - emulation/tpu-edt.el \ + obsolete/tpu-edt.el \ mail/rmail.el \ dired.el \ ibuffer.el \ htmlfontify.el \ - emacs-lisp/eieio.el + emacs-lisp/eieio.el \ + textmodes/reftex.el # Value of max-lisp-eval-depth when compiling initially. # During bootstrapping the byte-compiler is run interpreted when compiling @@ -88,7 +89,9 @@ AUTOGEN_VCS = \ BIG_STACK_DEPTH = 2200 BIG_STACK_OPTS = --eval "(setq max-lisp-eval-depth $(BIG_STACK_DEPTH))" -BYTE_COMPILE_FLAGS = $(BIG_STACK_OPTS) $(BYTE_COMPILE_EXTRA_FLAGS) +# Set load-prefer-newer for the benefit of the non-bootstrappers. +BYTE_COMPILE_FLAGS = $(BIG_STACK_OPTS) \ + --eval '(setq load-prefer-newer t)' $(BYTE_COMPILE_EXTRA_FLAGS) # Files to compile before others during a bootstrap. This is done to # speed up the bootstrap process. They're ordered by size, so we use @@ -104,8 +107,12 @@ COMPILE_FIRST = \ $(lisp)/emacs-lisp/bytecomp.elc \ $(lisp)/emacs-lisp/autoload.elc +# Prevent any settings in the user environment causing problems. +unexport EMACSDATA EMACSDOC EMACSPATH + # The actual Emacs command run in the targets below. -emacs = EMACSLOADPATH='$(lisp)' '$(EMACS)' $(EMACSOPT) +# Prevent any setting of EMACSLOADPATH in user environment causing problems. +emacs = EMACSLOADPATH= '$(EMACS)' $(EMACSOPT) # Common command to find subdirectories setwins=for file in `find . -type d -print`; do \ @@ -121,6 +128,15 @@ setwins_almost=for file in `find ${srcdir} -type d -print`; do \ esac; \ done +# Find all subdirectories except `obsolete', `term', and `leim' (and subdirs). +# We don't want the leim files listed as packages, especially +# since many share basenames with files in language/. +setwins_finder=for file in `find ${srcdir} -type d -print`; do \ + case $$file in ${srcdir}*/obsolete | ${srcdir}*/term | ${srcdir}*/leim* ) ;; \ + *) wins="$$wins$${wins:+ }$$file" ;; \ + esac; \ + done + # Find all subdirectories in which we might want to create subdirs.el. setwins_for_subdirs=for file in `find ${srcdir} -type d -print`; do \ case $$file in \ @@ -131,11 +147,9 @@ setwins_for_subdirs=for file in `find ${srcdir} -type d -print`; do \ # cus-load and finder-inf are not explicitly requested by anything, so # we add them here to make sure they get built. -all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el - -doit: +all: leim semantic $(lisp)/cus-load.el $(lisp)/finder-inf.el -.PHONY: all doit custom-deps finder-data autoloads update-subdirs +.PHONY: all custom-deps finder-data autoloads update-subdirs # custom-deps and finder-data both used to scan _all_ the *.el files. # This could lead to problems in parallel builds if automatically @@ -152,8 +166,8 @@ doit: # since they will never contain any useful information # (see finder-no-scan-regexp and custom-dependencies-no-scan-regexp). $(lisp)/cus-load.el: - $(MAKE) $(MFLAGS) custom-deps -custom-deps: doit + $(MAKE) custom-deps +custom-deps: $(setwins_almost); \ echo Directories: $$wins; \ $(emacs) -l cus-dep \ @@ -161,9 +175,9 @@ custom-deps: doit -f custom-make-dependencies $$wins $(lisp)/finder-inf.el: - $(MAKE) $(MFLAGS) finder-data -finder-data: doit - $(setwins_almost); \ + $(MAKE) finder-data +finder-data: + $(setwins_finder); \ echo Directories: $$wins; \ $(emacs) -l finder \ --eval '(setq generated-finder-keywords-file (unmsys--file-name "$(srcdir)/finder-inf.el"))' \ @@ -176,7 +190,7 @@ finder-data: doit # Note that we set no-update-autoloads in _generated_ leim files. # If you want to allow autoloads in such files, remove that, # and make this depend on leim. -autoloads: $(LOADDEFS) doit +autoloads: $(LOADDEFS) cd $(lisp) && chmod +w $(AUTOGEN_VCS) $(setwins_almost); \ echo Directories: $$wins; \ @@ -184,12 +198,23 @@ autoloads: $(LOADDEFS) doit --eval '(setq autoload-builtin-package-versions t)' \ --eval '(setq generated-autoload-file (expand-file-name (unmsys--file-name "$(srcdir)/loaddefs.el")))' \ -f batch-update-autoloads $$wins + $(MAKE) obsolete-autoloads + +# The obsolete/ subdirectory is normally not scanned for autoloads. +# Sometimes we still want to autoload something from that directory, +# eg iswitchb. +.PHONY: obsolete-autoloads +obsolete-autoloads: ${lisp}/obsolete/*.el + $(emacs) -l autoload \ + --eval '(setq generate-autoload-cookie ";;;###obsolete-autoload")' \ + --eval '(setq generated-autoload-file (expand-file-name (unmsys--file-name "$(srcdir)/loaddefs.el")))' \ + -f batch-update-autoloads ${lisp}/obsolete # This is required by the bootstrap-emacs target in ../src/Makefile, so # we know that if we have an emacs executable, we also have a subdirs.el. $(lisp)/subdirs.el: - $(MAKE) $(MFLAGS) update-subdirs -update-subdirs: doit + $(MAKE) update-subdirs +update-subdirs: $(setwins_for_subdirs); \ for file in $$wins; do \ $(srcdir)/../build-aux/update-subdirs $$file; \ @@ -211,7 +236,8 @@ bzr-update: compile finder-data custom-deps # Update the AUTHORS file. update-authors: - $(emacs) -l authors -f batch-update-authors $(top_srcdir)/etc/AUTHORS $(top_srcdir) + $(emacs) -L "$(top_srcdir)/admin" -l authors \ + -f batch-update-authors "$(top_srcdir)/etc/AUTHORS" "$(top_srcdir)" ETAGS = ../lib-src/etags @@ -280,7 +306,7 @@ compile-onefile: compile-first: $(COMPILE_FIRST) # In `compile-main' we could directly do -# ... | xargs $(MAKE) $(MFLAGS) EMACS="$(EMACS)" +# ... | xargs $(MAKE) # and it works, but it generates a lot of messages like # make[2]: gnus/gnus-mlspl.elc is up to date. # so instead, we use "xargs echo" to split the list of file into manageable @@ -304,7 +330,7 @@ compile-main: leim semantic compile-clean echo "$${el}c"; \ done | xargs $(XARGS_LIMIT) echo) | \ while read chunk; do \ - $(MAKE) $(MFLAGS) compile-targets EMACS="$(EMACS)" TARGETS="$$chunk"; \ + $(MAKE) compile-targets TARGETS="$$chunk"; \ done .PHONY: compile-clean @@ -321,7 +347,7 @@ compile-clean: .PHONY: leim semantic leim: - cd ../leim && $(MAKE) $(MFLAGS) all EMACS="$(EMACS)" + $(MAKE) -C ../leim all EMACS="$(EMACS)" # FIXME. Yuck. semantic: @@ -329,23 +355,21 @@ semantic: .*) EMACS="../${EMACS}" ;; \ *) EMACS="${EMACS}" ;; \ esac; \ - cd ../admin/grammars && $(MAKE) $(MFLAGS) all EMACS="$${EMACS}" + $(MAKE) -C ../admin/grammars all EMACS="$${EMACS}" # Compile all Lisp files, but don't recompile those that are up to # date. Some .el files don't get compiled because they set the # local variable no-byte-compile. # Calling make recursively because suffix rule cannot have prerequisites. -# Explicitly pass EMACS (sometimes ../src/bootstrap-emacs) to those -# sub-makes that run rules that use it, for the sake of some non-GNU makes. compile: $(LOADDEFS) autoloads compile-first - $(MAKE) $(MFLAGS) compile-main EMACS="$(EMACS)" + $(MAKE) compile-main # Compile all Lisp files. This is like `compile' but compiles files # unconditionally. Some files don't actually get compiled because they # set the local variable no-byte-compile. -compile-always: doit +compile-always: cd $(lisp) && rm -f *.elc */*.elc */*/*.elc */*/*/*.elc - $(MAKE) $(MFLAGS) compile EMACS="$(EMACS)" + $(MAKE) compile .PHONY: backup-compiled-files compile-after-backup @@ -376,7 +400,7 @@ compile-after-backup: backup-compiled-files compile-always # There is no reason to use this rule unless you only have a single # core and CPU time is an issue. .PHONY: compile-one-process -compile-one-process: doit $(LOADDEFS) compile-first $(lisp)/progmodes/cc-mode.elc +compile-one-process: $(LOADDEFS) compile-first $(lisp)/progmodes/cc-mode.elc $(emacs) $(BYTE_COMPILE_FLAGS) \ --eval "(batch-byte-recompile-directory 0)" $(lisp) @@ -404,7 +428,6 @@ $(MH_E_DIR)/mh-loaddefs.el: $(MH_E_SRC) $(emacs) -l autoload \ --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \ --eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \ - --eval "(setq make-backup-files nil)" \ -f batch-update-autoloads $(MH_E_DIR) # Update TRAMP internal autoloads. Maybe we could move tramp*.el into @@ -422,7 +445,6 @@ $(TRAMP_DIR)/tramp-loaddefs.el: $(TRAMP_SRC) $(emacs) -l autoload \ --eval "(setq generate-autoload-cookie \";;;###tramp-autoload\")" \ --eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \ - --eval "(setq make-backup-files nil)" \ -f batch-update-autoloads $(TRAMP_DIR) CAL_DIR = $(lisp)/calendar @@ -444,21 +466,18 @@ $(CAL_DIR)/cal-loaddefs.el: $(CAL_SRC) $(emacs) -l autoload \ --eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \ --eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \ - --eval "(setq make-backup-files nil)" \ -f batch-update-autoloads $(CAL_DIR) $(CAL_DIR)/diary-loaddefs.el: $(CAL_SRC) $(emacs) -l autoload \ --eval "(setq generate-autoload-cookie \";;;###diary-autoload\")" \ --eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \ - --eval "(setq make-backup-files nil)" \ -f batch-update-autoloads $(CAL_DIR) $(CAL_DIR)/hol-loaddefs.el: $(CAL_SRC) $(emacs) -l autoload \ --eval "(setq generate-autoload-cookie \";;;###holiday-autoload\")" \ --eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name \"$@\")))" \ - --eval "(setq make-backup-files nil)" \ -f batch-update-autoloads $(CAL_DIR) .PHONY: bootstrap-clean distclean maintainer-clean @@ -497,28 +516,22 @@ $(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-awk.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-align.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-defs.elc: $(lisp)/progmodes/cc-bytecomp.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-vars.elc $(lisp)/progmodes/cc-engine.elc -$(lisp)/progmodes/cc-langs.elc: $(lisp)/progmodes/cc-vars.elc \ - $(lisp)/emacs-lisp/cl.elc +$(lisp)/progmodes/cc-langs.elc: $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-mode.elc: $(lisp)/progmodes/cc-langs.elc \ $(lisp)/progmodes/cc-vars.elc $(lisp)/progmodes/cc-engine.elc \ @@ -528,6 +541,4 @@ $(lisp)/progmodes/cc-mode.elc: $(lisp)/progmodes/cc-langs.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 - # Makefile ends here.