* lisp/simple.el (command-execute): Respect nil disabled-command-function.
[bpt/emacs.git] / lisp / Makefile.in
index 391e50c..a1cd6d1 100644 (file)
@@ -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.