# HG changeset patch # User Andrew Innes # Date 1042632845 0 # Node ID d6211ef9bbb4f5a05f626e4d590f4443858047d8 # Parent eea4a0604c4a3316374824c19e650e642891bb1c (loaddefs.el): Invoke make to build stub file using appropriate rule for build environment. (loaddefs.el-SH, loaddefs.el-CMD): New targets. Include small set of autoloads and defvars, sufficient to dump bootstrap emacs. (update-subdirs-SH): Use hard-coded list of top-level lisp subdirs, because find program on Windows is not compatible with Unix find. (compile-CMD, compile-SH): Use `batch-byte-compile-if-not-done'. Explicitly load loaddefs.el so that bootstrap emacs can compile properly. (bootstrap-clean): Add dependency on loaddefs.el, to ensure minimal stub sufficient for dumping bootstrap emacs is available. diff -r eea4a0604c4a -r d6211ef9bbb4 lisp/makefile.w32-in --- a/lisp/makefile.w32-in Wed Jan 15 12:04:38 2003 +0000 +++ b/lisp/makefile.w32-in Wed Jan 15 12:14:05 2003 +0000 @@ -171,9 +171,39 @@ $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS) loaddefs.el: + $(MAKE) $(MFLAGS) loaddefs.el-$(SHELLTYPE) + cp loaddefs.el-$(SHELLTYPE) $@ + rm loaddefs.el-$(SHELLTYPE) + +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 ";;; loaddefs.el ends here" >> $@ + +loaddefs.el-CMD: echo ;;; loaddefs.el --- automatically extracted autoloads> $@ echo ;;; Code:>> $@ - echo >> $@ + 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>> $@ @@ -205,8 +235,7 @@ echo ))>> subdirs.el update-subdirs-SH: doit - wd=$(lisp); $(setwins); \ - for file in $$wins; do \ + for file in $(WINS); do \ $(srcdir)/update-subdirs $$file; \ done; @@ -247,21 +276,23 @@ compile-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) -l loaddefs -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 compile-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; \ + $(emacs) -l loaddefs -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) -f batch-byte-compile-if-not-done $$el; \ + $(emacs) -l loaddefs -f batch-byte-compile-if-not-done $$el; \ fi \ done; \ done @@ -324,7 +355,7 @@ # bootstrap-emacs will be built from sources only. # Need separate version for sh and native cmd.exe -bootstrap-clean: bootstrap-clean-$(SHELLTYPE) +bootstrap-clean: bootstrap-clean-$(SHELLTYPE) loaddefs.el bootstrap-clean-CMD: # if exist $(EMACS) $(MAKE) $(MFLAGS) autoloads