# HG changeset patch # User Gerd Moellmann # Date 939425068 0 # Node ID aff7b4b378175dd5fe8b090108c91ac1cc68ea8c # Parent 3d7b096fb0866ef8a6219f4da96edaffb8e5f1c0 (bootstrap-compile): New target. Compile Lisp files with ../src/temacs. diff -r 3d7b096fb086 -r aff7b4b37817 lisp/Makefile --- a/lisp/Makefile Fri Oct 08 23:08:28 1999 +0000 +++ b/lisp/Makefile Fri Oct 08 23:24:28 1999 +0000 @@ -46,6 +46,10 @@ emacs = $(EMACS) $(EMACSOPT) +# The Emacs used to compile Lisp files from scratch. + +temacs=../src/temacs -batch -l ./loadup.el + doit: @@ -124,7 +128,7 @@ compile: doit wd=`pwd`; \ - find $$wd -name "*.elc" | xargs chmod +w; \ + find $$wd -name "*.elc" -print | xargs chmod +w; \ subdirs=`find $$wd -type d -print`; \ for dir in $$subdirs; do \ case $$dir in \ @@ -148,6 +152,37 @@ fi; \ done +# Compile Lisp files when all we have is the temacs in ../src. All +# .elc files under the current directory are deleted first to make +# sure we start from a clean basis. + +bootstrap-compile: doit + wd=`pwd`; \ + find $$wd -name "*.elc" -print | xargs rm -f \ + subdirs=`find $$wd -type d -print`; \ + for dir in $$subdirs; do \ + case $$dir in \ + */Old | */RCS | */CVS | */=* ) ;; \ + *) loadpath="$$loadpath \"$$dir\"" ;; \ + esac; \ + done; \ + loadpath="(setq load-path '($$loadpath))"; \ + dont_compile=`echo $(DONTCOMPILE)`; \ + for el in $(EL); do \ + compile_it=y; \ + for dont in $$dont_compile; do \ + if test $$el = $$dont; then \ + compile_it=n; \ + fi; \ + done; \ + if test $$compile_it = y; then \ + $(temacs) --eval "$$loadpath" -f batch-byte-compile $$el; \ + else \ + echo "Don't compile $$el"; \ + fi; \ + done + + # Recompile all Lisp files which are newer than their .elc files. # Note that this doesn't create .elc files. It only recompiles if an # .elc is present.