diff lisp/makefile.w32-in @ 49259:d6211ef9bbb4

(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.
author Andrew Innes <andrewi@gnu.org>
date Wed, 15 Jan 2003 12:14:05 +0000
parents 53a1d514b214
children 06b77df47802
line wrap: on
line diff
--- 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