comparison lisp/Makefile @ 26145:760a5b91fe7f

(compile-files, backup-compiled-files): New targets. (bootstrap, bootstrap-clean): Ditto.
author Gerd Moellmann <gerd@gnu.org>
date Sat, 23 Oct 1999 13:22:02 +0000
parents a2591ab1ddaf
children 00e23959ec43
comparison
equal deleted inserted replaced
26144:8fee653decdf 26145:760a5b91fe7f
19 19
20 # Files which should not be compiled. All file names must be relative 20 # Files which should not be compiled. All file names must be relative
21 # to the `lisp' directory. 21 # to the `lisp' directory.
22 # - emacs-lisp/cl-specs.el: only contains `def-edebug-spec's so there's 22 # - emacs-lisp/cl-specs.el: only contains `def-edebug-spec's so there's
23 # no point compiling it, although it doesn't hurt. 23 # no point compiling it, although it doesn't hurt.
24
24 DONTCOMPILE = bindings.el mail/blessmail.el play/bruce.el cus-load.el \ 25 DONTCOMPILE = bindings.el mail/blessmail.el play/bruce.el cus-load.el \
25 cus-start.el forms-d2.el forms-pass.el \ 26 cus-start.el forms-d2.el forms-pass.el \
26 international/latin-1.el international/latin-2.el \ 27 international/latin-1.el international/latin-2.el \
27 international/latin-3.el international/latin-4.el \ 28 international/latin-3.el international/latin-4.el \
28 international/latin-5.el \ 29 international/latin-5.el \
106 # compiled later. We also set the load-path of the Emacs used for 107 # compiled later. We also set the load-path of the Emacs used for
107 # compilation to the current directory and its subdirectories, to 108 # compilation to the current directory and its subdirectories, to
108 # make sure require's and load's in the files being compiled find 109 # make sure require's and load's in the files being compiled find
109 # the right files. 110 # the right files.
110 111
111 compile: subdirs.el doit 112 compile-files: subdirs.el doit
112 find . -name "*.elc" -print | xargs chmod +w; \ 113 find . -name "*.elc" -print | xargs chmod +w; \
113 wd=.; $(setwins); \ 114 wd=.; $(setwins); \
114 elpat=`echo $$wins | tr '[ ]' '[\012\012]' | \ 115 elpat=`echo $$wins | tr '[ ]' '[\012\012]' | \
115 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \ 116 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \
116 els=`echo $$elpat $(DONTCOMPILE) | tr '[ ]' '[\012\012]' | sort | uniq -u`; \ 117 els=`echo $$elpat $(DONTCOMPILE) | tr '[ ]' '[\012\012]' | sort | uniq -u`; \
117 echo $$els; \ 118 echo $$els; \
118 EMACSLOADPATH=`pwd` $(emacs) -f batch-byte-compile $$els 119 EMACSLOADPATH=`pwd` $(emacs) -f batch-byte-compile $$els
119 120
121 # Backup compiled Lisp files in elc.tar.gz. If that file already
122 # exists, make a backup of it.
123
124 backup-compiled-files:
125 -mv elc.tar.gz elc.tar.gz~
126 tar czf elc.tar.gz *.elc */*.elc
127
128 # Compile Lisp files, but save old compiled files first.
129
130 compile: backup-compiled-files compile-files
131
120 # Recompile all Lisp files which are newer than their .elc files. 132 # Recompile all Lisp files which are newer than their .elc files.
121 # Note that this doesn't create .elc files. It only recompiles if an 133 # Note that this doesn't create .elc files. It only recompiles if an
122 # .elc is present. 134 # .elc is present.
123 135
124 recompile: doit 136 recompile: doit
125 $(emacs) -f batch-byte-recompile-directory . 137 $(emacs) -f batch-byte-recompile-directory .
126 138
139 # Remove files for a bootstrap. Compiled Lisp files must be removed
140 # because otherwise `bootstrap-emacs' would not be built from sources.
141
142 bootstrap-clean:
143 -rm -f *.elc */*.elc
144
145 # Generate/update files for the bootstrap process.
146
147 bootstrap: compile-files autoloads custom-deps
148
127 # Makefile ends here. 149 # Makefile ends here.