X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/233ba4d924933cb56129bd7511e6137b7c0b8e3e..6578b4d8428cf00cd5a2f452bfc3099c95f0981a:/lisp/makefile.w32-in diff --git a/lisp/makefile.w32-in b/lisp/makefile.w32-in index eb65bb7a60..756d2b949f 100644 --- a/lisp/makefile.w32-in +++ b/lisp/makefile.w32-in @@ -1,5 +1,5 @@ -# -*- Makefile -*- for GNU Emacs on the Microsoft W32 API. -# Copyright (C) 2000-2011 Free Software Foundation, Inc. +# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API. +# Copyright (C) 2000-2012 Free Software Foundation, Inc. # This file is part of GNU Emacs. @@ -27,9 +27,9 @@ lisp = $(CURDIR) srcdir = $(CURDIR)/.. # You can specify a different executable on the make command line, -# e.g. "make EMACS=../src/emacs ...". +# e.g. "make EMACS=../bin/emacs ...". -EMACS = $(THISDIR)/../bin/emacs.exe +EMACS = ../src/$(BLD)/emacs.exe # Command line flags for Emacs. @@ -66,18 +66,24 @@ AUTOGENEL = $(lisp)/loaddefs.el $(LOADDEFS) $(lisp)/cus-load.el \ $(lisp)/cedet/semantic/loaddefs.el $(lisp)/cedet/ede/loaddefs.el \ $(lisp)/cedet/srecode/loaddefs.el +# Value of max-lisp-eval-depth when compiling initially. +# During bootstrapping the byte-compiler is run interpreted when compiling +# itself, and uses more stack than usual. +# +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) + # 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 -# cc-mode when it is not compiled doesn't work during the -# bootstrapping. +# speed up the bootstrap process. COMPILE_FIRST = \ + $(lisp)/emacs-lisp/macroexp.el \ + $(lisp)/emacs-lisp/cconv.el \ $(lisp)/emacs-lisp/byte-opt.el \ $(lisp)/emacs-lisp/bytecomp.el \ - $(lisp)/subr.el \ - $(lisp)/progmodes/cc-mode.el \ - $(lisp)/progmodes/cc-vars.el + $(lisp)/emacs-lisp/autoload.el # The actual Emacs command run in the targets below. # The quotes around $(EMACS) are here because the user could type @@ -162,12 +168,12 @@ $(lisp)/cus-load.el: # 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 +custom-deps: $(lisp)/cus-load.el $(lisp)/loaddefs.el $(lisp)/subdirs.el doit @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 +finder-data: $(lisp)/loaddefs.el $(lisp)/subdirs.el doit @echo Directories: $(WINS_UPDATES) $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS_UPDATES) @@ -221,20 +227,23 @@ $(lisp)/subdirs.el: update-subdirs: update-subdirs-$(SHELLTYPE) update-subdirs-CMD: doit - echo ;; -*- no-byte-compile: t -*-> $(lisp)/subdirs.el - echo ;; In load-path, after this directory should come>> $(lisp)/subdirs.el + 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_SUBDIR) cedet) do echo "%%d">> $(lisp)/subdirs.el echo ))>> $(lisp)/subdirs.el + echo ;; Local Variables:>> $(lisp)/subdirs.el + echo ;; version-control: never>> $(lisp)/subdirs.el + echo ;; no-byte-compile: t>> $(lisp)/subdirs.el + echo ;; End:>> $(lisp)/subdirs.el update-subdirs-SH: doit - $(srcdir)/update-subdirs $(lisp); \ + $(srcdir)/build-aux/update-subdirs $(lisp); \ for file in $(WINS_SUBDIR); do \ - $(srcdir)/update-subdirs $$file; \ + $(srcdir)/build-aux/update-subdirs $$file; \ done; -updates: update-subdirs autoloads mh-autoloads finder-data custom-deps +updates: $(lisp)/subdirs.el autoloads mh-autoloads finder-data custom-deps # This is useful after "bzr up". bzr-update: recompile autoloads finder-data custom-deps @@ -287,7 +296,7 @@ TAGS-LISP-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsf .SUFFIXES: .elc .el .el.elc: - -$(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $< + -$(emacs) $(BYTE_COMPILE_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 @@ -302,27 +311,27 @@ TAGS-LISP-CMD: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsf # compiled find the right files. # Need separate version for sh and native cmd.exe -compile: $(lisp)/subdirs.el mh-autoloads compile-$(SHELLTYPE) doit +compile: $(lisp)/subdirs.el compile-$(SHELLTYPE) doit -compile-CMD: +compile-CMD: autoloads # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g for %%f in ($(COMPILE_FIRST)) do \ - $(emacs) -l loaddefs $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile-if-not-done %%f + $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do \ - $(emacs) -l loaddefs $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g + $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done %%f/%%g -compile-SH: +compile-SH: autoloads # for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done for el in $(COMPILE_FIRST); do \ echo Compiling $$el; \ - $(emacs) -l loaddefs $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile-if-not-done $$el; \ + $(emacs) -l loaddefs $(BYTE_COMPILE_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 $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile-if-not-done $$el; \ + $(emacs) -l loaddefs $(BYTE_COMPILE_FLAGS) -f batch-byte-compile-if-not-done $$el; \ fi \ done; \ done @@ -335,31 +344,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) $(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 + for %%f in ($(COMPILE_FIRST)) do $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile %%f + for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do $(emacs) $(BYTE_COMPILE_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) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $$el || exit 1; \ + $(emacs) $(BYTE_COMPILE_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) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $$el || exit 1; \ + $(emacs) $(BYTE_COMPILE_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) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile %%f + for %%f in ($(lisp)/calc/*.el) do $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile %%f compile-calc-SH: for el in $(lisp)/calc/*.el; do \ echo Compiling $$el; \ - $(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $$el || exit 1; \ + $(emacs) $(BYTE_COMPILE_FLAGS) -f batch-byte-compile $$el || exit 1; \ done # Backup compiled Lisp files in elc.tar.gz. If that file already @@ -374,7 +383,7 @@ 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 + $(lisp)/emacs-lisp/autoload.elc $(lisp)/subdirs.el # Recompile all Lisp files which are newer than their .elc files. # Note that this doesn't create .elc files. It only recompiles if an @@ -384,7 +393,7 @@ compile-first: $(lisp)/emacs-lisp/bytecomp.elc $(lisp)/emacs-lisp/byte-opt.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: +$(lisp)/calendar/cal-loaddefs.el: $(lisp)/subdirs.el "$(EMACS)" $(EMACSOPT) -l autoload \ --eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \ --eval "(setq find-file-suppress-same-file-warnings t)" \ @@ -392,7 +401,7 @@ $(lisp)/calendar/cal-loaddefs.el: -f w32-batch-update-autoloads "$(lisp)/calendar/cal-loaddefs.el" \ $(MAKE) ./calendar -$(lisp)/calendar/diary-loaddefs.el: +$(lisp)/calendar/diary-loaddefs.el: $(lisp)/subdirs.el "$(EMACS)" $(EMACSOPT) -l autoload \ --eval "(setq generate-autoload-cookie \";;;###diary-autoload\")" \ --eval "(setq find-file-suppress-same-file-warnings t)" \ @@ -400,7 +409,7 @@ $(lisp)/calendar/diary-loaddefs.el: -f w32-batch-update-autoloads $(lisp)/calendar/diary-loaddefs.el \ $(MAKE) ./calendar -$(lisp)/calendar/hol-loaddefs.el: +$(lisp)/calendar/hol-loaddefs.el: $(lisp)/subdirs.el "$(EMACS)" $(EMACSOPT) -l autoload \ --eval "(setq generate-autoload-cookie \";;;###holiday-autoload\")" \ --eval "(setq find-file-suppress-same-file-warnings t)" \ @@ -428,7 +437,7 @@ MH_E_SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el \ # See the commentary for autoloads above for why we use ./mh-e below # instead of $(lisp)/mh-e. mh-autoloads: $(lisp)/mh-e/mh-loaddefs.el -$(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) +$(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) $(lisp)/subdirs.el "$(EMACS)" $(EMACSOPT) \ -l autoload \ --eval $(ARGQUOTE)(setq generate-autoload-cookie $(DQUOTE);;;###mh-autoload$(DQUOTE))$(ARGQUOTE) \ @@ -443,11 +452,11 @@ $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) TRAMP_SRC = $(lisp)/net/tramp.el $(lisp)/net/tramp-cache.el \ $(lisp)/net/tramp-cmds.el $(lisp)/net/tramp-compat.el \ $(lisp)/net/tramp-ftp.el $(lisp)/net/tramp-gvfs.el \ - $(lisp)/net/tramp-gw.el $(lisp)/net/tramp-imap.el \ - $(lisp)/net/tramp-sh.el $(lisp)/net/tramp-smb.el \ - $(lisp)/net/tramp-uu.el $(lisp)/net/trampver.el + $(lisp)/net/tramp-gw.el $(lisp)/net/tramp-sh.el \ + $(lisp)/net/tramp-smb.el $(lisp)/net/tramp-uu.el \ + $(lisp)/net/trampver.el -$(lisp)/net/tramp-loaddefs.el: $(TRAMP_SRC) +$(lisp)/net/tramp-loaddefs.el: $(TRAMP_SRC) $(lisp)/subdirs.el "$(EMACS)" $(EMACSOPT) \ -l autoload \ --eval $(ARGQUOTE)(setq generate-autoload-cookie $(DQUOTE);;;###tramp-autoload$(DQUOTE))$(ARGQUOTE) \ @@ -472,6 +481,7 @@ $(lisp)/net/tramp-loaddefs.el: $(TRAMP_SRC) # Need separate version for sh and native cmd.exe bootstrap-clean: - $(DEL) $(lisp)/loaddefs.el + - $(DEL) $(lisp)/subdirs.el $(MAKE) $(MFLAGS) bootstrap-clean-$(SHELLTYPE) bootstrap-clean-CMD: @@ -487,7 +497,7 @@ bootstrap-clean-SH: # When done, remove bootstrap-emacs from ../bin, so that # it will not be mistaken for an installed binary. -bootstrap: update-subdirs autoloads mh-autoloads compile finder-data custom-deps +bootstrap: $(lisp)/subdirs.el compile finder-data custom-deps - $(DEL) "$(EMACS)" # @@ -496,9 +506,9 @@ bootstrap: update-subdirs autoloads mh-autoloads compile finder-data custom-deps # install: - mkdir "$(INSTALL_DIR)/lisp" - - $(DEL) ../same-dir.tst - - $(DEL) "$(INSTALL_DIR)/same-dir.tst" - echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst" + - $(DEL) ../$(DIRNAME)_same-dir.tst + - $(DEL) "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst" + echo SameDirTest > "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst" #ifdef COPY_LISP_SOURCE $(IFNOTSAMEDIR) $(MAKE) $(MFLAGS) install-lisp-$(SHELLTYPE) $(ENDIF) #else @@ -514,8 +524,8 @@ install: # $(IFNOTSAMEDIR) $(CP) international/latin-*.el "$(INSTALL_DIR)/lisp/international" $(ENDIF) # $(IFNOTSAMEDIR) $(CP) international/mule-conf.el "$(INSTALL_DIR)/lisp/international" $(ENDIF) #endif - - $(DEL) ../same-dir.tst - - $(DEL) "$(INSTALL_DIR)/same-dir.tst" + - $(DEL) ../$(DIRNAME)_same-dir.tst + - $(DEL) "$(INSTALL_DIR)/$(DIRNAME)_same-dir.tst" # Need to copy *.el files first, to avoid "source file is newer" annoyance # since cp does not preserve time stamps @@ -591,7 +601,8 @@ $(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 \ $(lisp)/progmodes/cc-styles.elc $(lisp)/progmodes/cc-cmds.elc \ - $(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-menus.elc + $(lisp)/progmodes/cc-align.elc $(lisp)/progmodes/cc-menus.elc \ + $(lisp)/subdirs.el $(lisp)/progmodes/cc-styles.elc: $(lisp)/progmodes/cc-vars.elc \ $(lisp)/progmodes/cc-align.elc