X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/cb6c95a394d9a9d2f068bf8ee240f2d2297867d1..c7510f6e94a232aae19e07b7203ac068ef00773c:/lisp/Makefile.in diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 391e50c8b7..a1cd6d19ce 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. @@ -88,7 +88,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 @@ -106,7 +108,7 @@ COMPILE_FIRST = \ # The actual Emacs command run in the targets below. # Prevent any setting of EMACSLOADPATH in user environment causing problems. -emacs = EMACSLOADPATH= "$(EMACS)" $(EMACSOPT) +emacs = EMACSLOADPATH= '$(EMACS)' $(EMACSOPT) # Common command to find subdirectories setwins=for file in `find . -type d -print`; do \ @@ -122,6 +124,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 \ @@ -158,16 +169,16 @@ custom-deps: doit $(setwins_almost); \ echo Directories: $$wins; \ $(emacs) -l cus-dep \ - --eval '(setq generated-custom-dependencies-file "$(srcdir)/cus-load.el")' \ + --eval '(setq generated-custom-dependencies-file (unmsys--file-name "$(srcdir)/cus-load.el"))' \ -f custom-make-dependencies $$wins $(lisp)/finder-inf.el: $(MAKE) $(MFLAGS) finder-data finder-data: doit - $(setwins_almost); \ + $(setwins_finder); \ echo Directories: $$wins; \ $(emacs) -l finder \ - --eval '(setq generated-finder-keywords-file "$(srcdir)/finder-inf.el")' \ + --eval '(setq generated-finder-keywords-file (unmsys--file-name "$(srcdir)/finder-inf.el"))' \ -f finder-compile-keywords-make-dist $$wins # The chmod +w is to handle env var CVSREAD=1. @@ -183,7 +194,7 @@ autoloads: $(LOADDEFS) doit echo Directories: $$wins; \ $(emacs) -l autoload \ --eval '(setq autoload-builtin-package-versions t)' \ - --eval '(setq generated-autoload-file (expand-file-name "$(srcdir)/loaddefs.el"))' \ + --eval '(setq generated-autoload-file (expand-file-name (unmsys--file-name "$(srcdir)/loaddefs.el")))' \ -f batch-update-autoloads $$wins # This is required by the bootstrap-emacs target in ../src/Makefile, so @@ -296,7 +307,7 @@ compile-targets: $(TARGETS) # Compile all the Elisp files that need it. Beware: it approximates # `no-byte-compile', so watch out for false-positives! -compile-main: leim compile-clean +compile-main: leim semantic compile-clean @(cd $(lisp) && $(setwins); \ els=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el |g'`; \ for el in $$els; do \ @@ -320,10 +331,18 @@ compile-clean: fi \ done -.PHONY: leim +.PHONY: leim semantic leim: cd ../leim && $(MAKE) $(MFLAGS) all EMACS="$(EMACS)" +# FIXME. Yuck. +semantic: + case ${EMACS} in \ + .*) EMACS="../${EMACS}" ;; \ + *) EMACS="${EMACS}" ;; \ + esac; \ + cd ../admin/grammars && $(MAKE) $(MFLAGS) 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.