aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann1999-10-08 23:25:05 +0000
committerGerd Moellmann1999-10-08 23:25:05 +0000
commit96ff0f098f805d5b99820d841ff459a55b5068ff (patch)
treefd88bf110fadf7d6618646c40c96269d56686cc5
parentf1aba5123374f06e8670874cf3e1d5400025b508 (diff)
downloademacs-96ff0f098f805d5b99820d841ff459a55b5068ff.tar.gz
emacs-96ff0f098f805d5b99820d841ff459a55b5068ff.zip
(bootstrap-compile): New target. Compile Lisp
files with ../src/temacs.
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/Makefile37
2 files changed, 41 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 412edf885d8..bc4949088c4 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
11999-10-09 Gerd Moellmann <gerd@gnu.org>
2
3 * Makefile (bootstrap-compile): New target. Compile Lisp
4 files with ../src/temacs.
5
11999-10-08 Simon Marshall <simon@gnu.org> 61999-10-08 Simon Marshall <simon@gnu.org>
2 7
3 * emacs-lisp/regexp-opt.el (regexp-opt-try-suffix): New function. 8 * emacs-lisp/regexp-opt.el (regexp-opt-try-suffix): New function.
diff --git a/lisp/Makefile b/lisp/Makefile
index 3e10f639d23..23b7bee8a5a 100644
--- a/lisp/Makefile
+++ b/lisp/Makefile
@@ -46,6 +46,10 @@ EL = $(lisptagsfiles1) $(lisptagsfiles2)
46 46
47emacs = $(EMACS) $(EMACSOPT) 47emacs = $(EMACS) $(EMACSOPT)
48 48
49# The Emacs used to compile Lisp files from scratch.
50
51temacs=../src/temacs -batch -l ./loadup.el
52
49 53
50doit: 54doit:
51 55
@@ -124,7 +128,7 @@ TAGS-LISP: $(lispsource)$(lisptagsfiles1) $(lispsource)$(lisptagsfiles2)
124 128
125compile: doit 129compile: doit
126 wd=`pwd`; \ 130 wd=`pwd`; \
127 find $$wd -name "*.elc" | xargs chmod +w; \ 131 find $$wd -name "*.elc" -print | xargs chmod +w; \
128 subdirs=`find $$wd -type d -print`; \ 132 subdirs=`find $$wd -type d -print`; \
129 for dir in $$subdirs; do \ 133 for dir in $$subdirs; do \
130 case $$dir in \ 134 case $$dir in \
@@ -148,6 +152,37 @@ compile: doit
148 fi; \ 152 fi; \
149 done 153 done
150 154
155# Compile Lisp files when all we have is the temacs in ../src. All
156# .elc files under the current directory are deleted first to make
157# sure we start from a clean basis.
158
159bootstrap-compile: doit
160 wd=`pwd`; \
161 find $$wd -name "*.elc" -print | xargs rm -f \
162 subdirs=`find $$wd -type d -print`; \
163 for dir in $$subdirs; do \
164 case $$dir in \
165 */Old | */RCS | */CVS | */=* ) ;; \
166 *) loadpath="$$loadpath \"$$dir\"" ;; \
167 esac; \
168 done; \
169 loadpath="(setq load-path '($$loadpath))"; \
170 dont_compile=`echo $(DONTCOMPILE)`; \
171 for el in $(EL); do \
172 compile_it=y; \
173 for dont in $$dont_compile; do \
174 if test $$el = $$dont; then \
175 compile_it=n; \
176 fi; \
177 done; \
178 if test $$compile_it = y; then \
179 $(temacs) --eval "$$loadpath" -f batch-byte-compile $$el; \
180 else \
181 echo "Don't compile $$el"; \
182 fi; \
183 done
184
185
151# Recompile all Lisp files which are newer than their .elc files. 186# Recompile all Lisp files which are newer than their .elc files.
152# Note that this doesn't create .elc files. It only recompiles if an 187# Note that this doesn't create .elc files. It only recompiles if an
153# .elc is present. 188# .elc is present.