comparison lisp/Makefile.in @ 43026:7c4834964c35

(compile): New target. (compile-always): Renamed from compile-files. (compile-after-backup): Renamed from compile. (bootstrap): Depend on compile-always, not compile-files.
author Richard M. Stallman <rms@gnu.org>
date Fri, 01 Feb 2002 04:13:14 +0000
parents 8b6f9b8622d8
children 29582a7d10d2
comparison
equal deleted inserted replaced
43025:32f6fb5c961f 43026:7c4834964c35
200 -$(emacs) -f batch-byte-compile $< 200 -$(emacs) -f batch-byte-compile $<
201 201
202 $(DONTCOMPILE:.el=.elc): 202 $(DONTCOMPILE:.el=.elc):
203 -rm -f $@ 203 -rm -f $@
204 204
205 # Compile all Lisp files, except those from DONTCOMPILE. This 205 # Compile all Lisp files, except those from DONTCOMPILE,
206 # compiles files unconditionally. All .elc files are made writable 206 # but don't recompile those that are up to date.
207
208 # All .elc files are made writable
207 # before compilation in case we checked out read-only (CVS option -r). 209 # before compilation in case we checked out read-only (CVS option -r).
208 # Files MUST be compiled one by one. If we compile several files in a 210 # Files MUST be compiled one by one. If we compile several files in a
209 # row we can't make sure that the compilation environment is clean. 211 # row we can't make sure that the compilation environment is clean.
210 # We also set the load-path of the Emacs used for compilation to the 212 # We also set the load-path of the Emacs used for compilation to the
211 # current directory and its subdirectories, to make sure require's and 213 # current directory and its subdirectories, to make sure require's and
212 # load's in the files being compiled find the right files. 214 # load's in the files being compiled find the right files.
213 215
214 compile-files: subdirs.el doit 216 compile: subdirs.el doit
217 find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1; \
218 wd=$(lisp); $(setwins); \
219 elpat=`echo $$wins | tr ' ' '\012\012' | \
220 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \
221 els=`echo $$elpat $(DONTCOMPILE) $(COMPILE_FIRST) | \
222 tr ' ' '\012\012' | sort | uniq -u`; \
223 for el in $(COMPILE_FIRST) $$els; do \
224 echo Compiling $$el; \
225 $(emacs) -f batch-byte-compile-if-not-done $$el || exit 1; \
226 done
227
228 # Compile all Lisp files, except those from DONTCOMPILE. This
229 # is like `compile' but compiles files unconditionally.
230 compile-always: subdirs.el doit
215 find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1; \ 231 find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1; \
216 wd=$(lisp); $(setwins); \ 232 wd=$(lisp); $(setwins); \
217 elpat=`echo $$wins | tr ' ' '\012\012' | \ 233 elpat=`echo $$wins | tr ' ' '\012\012' | \
218 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \ 234 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \
219 els=`echo $$elpat $(DONTCOMPILE) $(COMPILE_FIRST) | \ 235 els=`echo $$elpat $(DONTCOMPILE) $(COMPILE_FIRST) | \
236 -mv $(lisp)/elc.tar.gz $(lisp)/elc.tar.gz~ 252 -mv $(lisp)/elc.tar.gz $(lisp)/elc.tar.gz~
237 -tar czf $(lisp)/elc.tar.gz $(lisp)/*.elc $(lisp)/*/*.elc 253 -tar czf $(lisp)/elc.tar.gz $(lisp)/*.elc $(lisp)/*/*.elc
238 254
239 # Compile Lisp files, but save old compiled files first. 255 # Compile Lisp files, but save old compiled files first.
240 256
241 compile: backup-compiled-files compile-files 257 compile-after-backup: backup-compiled-files compile-always
242 258
243 # Recompile all Lisp files which are newer than their .elc files. 259 # Recompile all Lisp files which are newer than their .elc files.
244 # Note that this doesn't create .elc files. It only recompiles if an 260 # Note that this doesn't create .elc files. It only recompiles if an
245 # .elc is present. 261 # .elc is present.
246 262
257 if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi 273 if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi
258 -rm -f $(lisp)/*.elc $(lisp)/*/*.elc 274 -rm -f $(lisp)/*.elc $(lisp)/*/*.elc
259 275
260 # Generate/update files for the bootstrap process. 276 # Generate/update files for the bootstrap process.
261 277
262 bootstrap: autoloads compile-files custom-deps 278 bootstrap: autoloads compile-always custom-deps
263 279
264 distclean: 280 distclean:
265 -rm -f ./Makefile 281 -rm -f ./Makefile
266 282
267 # Makefile ends here. 283 # Makefile ends here.