diff options
| author | Gerd Moellmann | 1999-10-08 23:25:05 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 1999-10-08 23:25:05 +0000 |
| commit | 96ff0f098f805d5b99820d841ff459a55b5068ff (patch) | |
| tree | fd88bf110fadf7d6618646c40c96269d56686cc5 | |
| parent | f1aba5123374f06e8670874cf3e1d5400025b508 (diff) | |
| download | emacs-96ff0f098f805d5b99820d841ff459a55b5068ff.tar.gz emacs-96ff0f098f805d5b99820d841ff459a55b5068ff.zip | |
(bootstrap-compile): New target. Compile Lisp
files with ../src/temacs.
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/Makefile | 37 |
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 @@ | |||
| 1 | 1999-10-09 Gerd Moellmann <gerd@gnu.org> | ||
| 2 | |||
| 3 | * Makefile (bootstrap-compile): New target. Compile Lisp | ||
| 4 | files with ../src/temacs. | ||
| 5 | |||
| 1 | 1999-10-08 Simon Marshall <simon@gnu.org> | 6 | 1999-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 | ||
| 47 | emacs = $(EMACS) $(EMACSOPT) | 47 | emacs = $(EMACS) $(EMACSOPT) |
| 48 | 48 | ||
| 49 | # The Emacs used to compile Lisp files from scratch. | ||
| 50 | |||
| 51 | temacs=../src/temacs -batch -l ./loadup.el | ||
| 52 | |||
| 49 | 53 | ||
| 50 | doit: | 54 | doit: |
| 51 | 55 | ||
| @@ -124,7 +128,7 @@ TAGS-LISP: $(lispsource)$(lisptagsfiles1) $(lispsource)$(lisptagsfiles2) | |||
| 124 | 128 | ||
| 125 | compile: doit | 129 | compile: 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 | |||
| 159 | bootstrap-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. |