Mercurial > emacs
annotate lisp/Makefile @ 28406:451721e784a8
Stop assuming interval pointers and lisp objects can be distinguished by
inspection. Beginnings of support for expensive internal consistency checks.
* config.in (ENABLE_CHECKING): Undef.
* lisp.h (struct interval): Replace "parent" field with a union of interval
pointer and Lisp_Object; add new bitfield to use as discriminant. Change other
flag fields to bitfields.
(CHECK): New macro for consistency checking. If ENABLE_CHECKING is defined and
the supplied test fails, print a message and abort.
(eassert): New macro. Use CHECK to provide an assert-like facility.
* intervals.h (NULL_INTERVAL_P): Now applies only to real interval pointers;
abort if the value looks like a lisp object.
(NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT, SET_OBJECT,
INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT): Modify for new interval
parent definition.
* alloc.c (mark_interval_tree, MARK_INTERVAL_TREE, UNMARK_BALANCE_INTERVALS):
Update references that need an addressable lisp object in the interval
structure.
(die): New function.
(suppress_checking): New variable.
* intervals.c (interval_start_pos): Just return 0 if there's no parent object.
author | Ken Raeburn <raeburn@raeburn.org> |
---|---|
date | Wed, 29 Mar 2000 22:14:34 +0000 |
parents | 71e534c8c5cf |
children | 57aeae00b4df |
rev | line source |
---|---|
17392 | 1 # |
2 # Maintenance productions for the Lisp directory | |
3 # | |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
4 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
5 # You can specify a different executable on the make command line, |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
6 # e.g. "make EMACS=../src/emacs ...". |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
7 |
26183
00e23959ec43
(compile-files): Fixed the "tr" strings.
Gerd Moellmann <gerd@gnu.org>
parents:
26145
diff
changeset
|
8 EMACS = ../src/emacs |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
9 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
10 # Command line flags for Emacs. This must include --multibyte, |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
11 # otherwise some files will not compile. |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
12 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
13 EMACSOPT = --no-init-file --no-site-file --multibyte -batch |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
14 |
17392 | 15 SOURCES = *.el COPYING Makefile |
21924
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
16 lisptagsfiles1 = [a-zA-Z]*.el |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
17 lisptagsfiles2 = [a-zA-Z]*/[a-zA-Z]*.el |
18962 | 18 ETAGS = ../lib-src/etags |
17392 | 19 |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
20 # Files which should not be compiled. All file names must be relative |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
21 # to the `lisp' directory. |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
22 # - emacs-lisp/cl-specs.el: only contains `def-edebug-spec's so there's |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
23 # no point compiling it, although it doesn't hurt. |
26145
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
24 |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
25 DONTCOMPILE = bindings.el mail/blessmail.el play/bruce.el cus-load.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
26 cus-start.el forms-d2.el forms-pass.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
27 international/latin-1.el international/latin-2.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
28 international/latin-3.el international/latin-4.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
29 international/latin-5.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
30 loaddefs.el loadup.el international/mule-conf.el patcomp.el \ |
27503
884246071553
(DONTCOMPILE): Remove term-nasty.el; doesn't seem to exist.
Gerd Moellmann <gerd@gnu.org>
parents:
26636
diff
changeset
|
31 paths.el mail/sc.el subdirs.el version.el \ |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
32 generic-x.el international/latin-8.el international/latin-9.el \ |
26636
36564a827d06
Makefile (DONTCOMPILE): Add term/internal.el
Eli Zaretskii <eliz@gnu.org>
parents:
26183
diff
changeset
|
33 emacs-lisp/cl-specs.el finder-inf.el term/internal.el |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
34 |
28306
71e534c8c5cf
(COMPILE_FIRST): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
28291
diff
changeset
|
35 # Files to compile before others during a bootstrap. This is done |
71e534c8c5cf
(COMPILE_FIRST): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
28291
diff
changeset
|
36 # to speed up the bootstrap process. |
71e534c8c5cf
(COMPILE_FIRST): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
28291
diff
changeset
|
37 |
71e534c8c5cf
(COMPILE_FIRST): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
28291
diff
changeset
|
38 COMPILE_FIRST = emacs-lisp/bytecomp.el emacs-lisp/byte-opt.el subr.el |
71e534c8c5cf
(COMPILE_FIRST): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
28291
diff
changeset
|
39 |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
40 # The actual Emacs command run in the targets below. |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
41 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
42 emacs = $(EMACS) $(EMACSOPT) |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
43 |
25961
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
44 # Common command to find subdirectories |
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
45 |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
46 setwins=subdirs=`find $$wd -type d -print`; \ |
25961
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
47 for file in $$subdirs; do \ |
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
48 case $$file in */Old | */RCS | */CVS | */CVS/* | */=* ) ;; \ |
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
49 *) wins="$$wins $$file" ;; \ |
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
50 esac; \ |
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
51 done |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
52 |
17394
b793e8f5a9c2
Added cus-load.el target.
Per Abrahamsen <abraham@dina.kvl.dk>
parents:
17392
diff
changeset
|
53 doit: |
b793e8f5a9c2
Added cus-load.el target.
Per Abrahamsen <abraham@dina.kvl.dk>
parents:
17392
diff
changeset
|
54 |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
55 cus-load.el: |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
56 touch $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
57 custom-deps: cus-load.el doit |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
58 wd=.; $(setwins); \ |
21756
ed07a8592f60
(custom-deps, updates): Allow cus-dep to be compiled.
Richard M. Stallman <rms@gnu.org>
parents:
21753
diff
changeset
|
59 echo Directories: $$wins; \ |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
60 $(emacs) -l cus-dep -f custom-make-dependencies $$wins |
17399
04fc73bb3416
(finder-inf.el, autoloads): New targets.
Richard M. Stallman <rms@gnu.org>
parents:
17394
diff
changeset
|
61 |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
62 finder-inf.el: |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
63 echo "(provide 'finder-inf)" >> $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
64 finder-data: finder-inf.el doit |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
65 wd=.; $(setwins); \ |
21756
ed07a8592f60
(custom-deps, updates): Allow cus-dep to be compiled.
Richard M. Stallman <rms@gnu.org>
parents:
21753
diff
changeset
|
66 echo Directories: $$wins; \ |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
67 $(emacs) -l finder -f finder-compile-keywords-make-dist $$wins |
17399
04fc73bb3416
(finder-inf.el, autoloads): New targets.
Richard M. Stallman <rms@gnu.org>
parents:
17394
diff
changeset
|
68 |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
69 loaddefs.el: |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
70 echo ";;; loaddefs.el --- automatically extracted autoloads" >> $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
71 echo ";;" >> $@; echo ";;; Code:" >> $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
72 echo "" >> $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
73 echo ";;; Local Variables:" >> $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
74 echo ";;; version-control: never" >> $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
75 echo ";;; no-byte-compile: t" >> $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
76 echo ";;; no-update-autoloads: t" >> $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
77 echo ";;; End:" >> $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
78 echo ";;; loaddefs.el ends here" >> $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
79 autoloads: loaddefs.el doit |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
80 wd=.; $(setwins); \ |
21756
ed07a8592f60
(custom-deps, updates): Allow cus-dep to be compiled.
Richard M. Stallman <rms@gnu.org>
parents:
21753
diff
changeset
|
81 echo Directories: $$wins; \ |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
82 $(emacs) --eval '(setq generated-autoload-file "'`pwd`'/loaddefs.el")' -f batch-update-autoloads $$wins |
17746
e3508d038aee
(autoloads, custom-deps, finder-data):
Richard M. Stallman <rms@gnu.org>
parents:
17743
diff
changeset
|
83 |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
84 subdirs.el: |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
85 $(MAKE) $(MFLAGS) update-subdirs |
17748
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
86 update-subdirs: doit |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
87 wd=.; $(setwins); \ |
17748
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
88 for file in $$wins; do \ |
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
89 ../update-subdirs $$file; \ |
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
90 done; |
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
91 |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
92 updates: update-subdirs autoloads finder-data custom-deps |
17394
b793e8f5a9c2
Added cus-load.el target.
Per Abrahamsen <abraham@dina.kvl.dk>
parents:
17392
diff
changeset
|
93 |
21924
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
94 TAGS: $(lisptagsfiles1) $(lisptagsfiles2) |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
95 ${ETAGS} $(lisptagsfiles1) $(lisptagsfiles2) |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
96 |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
97 TAGS-LISP: $(lispsource)$(lisptagsfiles1) $(lispsource)$(lisptagsfiles2) |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
98 ${ETAGS} -o TAGS-LISP \ |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
99 $(lispsource)$(lisptagsfiles1) $(lispsource)$(lisptagsfiles2) |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
100 |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
101 .el.elc: subdirs.el |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
102 -EMACSLOADPATH=`pwd` $(emacs) -f batch-byte-compile $< |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
103 |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
104 $(DONTCOMPILE:.el=.elc): |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
105 -rm -f $@ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
106 |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
107 # Compile all Lisp files, except those from DONTCOMPILE. This |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
108 # compiles files unconditionally. All .elc files are made writable |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
109 # before compilation in case we checked out read-only (CVS option -r). |
28049
25ba68b7cbdb
(compile-files): Compile files one by one because
Gerd Moellmann <gerd@gnu.org>
parents:
27503
diff
changeset
|
110 # Files MUST be compiled one by one. If we compile several files in a |
25ba68b7cbdb
(compile-files): Compile files one by one because
Gerd Moellmann <gerd@gnu.org>
parents:
27503
diff
changeset
|
111 # row we can't make sure that the compilation environment is clean. |
25ba68b7cbdb
(compile-files): Compile files one by one because
Gerd Moellmann <gerd@gnu.org>
parents:
27503
diff
changeset
|
112 # We also set the load-path of the Emacs used for compilation to the |
25ba68b7cbdb
(compile-files): Compile files one by one because
Gerd Moellmann <gerd@gnu.org>
parents:
27503
diff
changeset
|
113 # current directory and its subdirectories, to make sure require's and |
25ba68b7cbdb
(compile-files): Compile files one by one because
Gerd Moellmann <gerd@gnu.org>
parents:
27503
diff
changeset
|
114 # load's in the files being compiled find the right files. |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
115 |
26145
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
116 compile-files: subdirs.el doit |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
117 find . -name "*.elc" -print | xargs chmod +w; \ |
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
118 wd=.; $(setwins); \ |
26183
00e23959ec43
(compile-files): Fixed the "tr" strings.
Gerd Moellmann <gerd@gnu.org>
parents:
26145
diff
changeset
|
119 elpat=`echo $$wins | tr ' ' '\012\012' | \ |
26112
a2591ab1ddaf
(dontcompilefiles): Obsoleted.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25972
diff
changeset
|
120 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \ |
28306
71e534c8c5cf
(COMPILE_FIRST): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
28291
diff
changeset
|
121 els=`echo $$elpat $(DONTCOMPILE) $(COMPILE_FIRST) | \ |
71e534c8c5cf
(COMPILE_FIRST): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
28291
diff
changeset
|
122 tr ' ' '\012\012' | sort | uniq -u`; \ |
71e534c8c5cf
(COMPILE_FIRST): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
28291
diff
changeset
|
123 for el in $(COMPILE_FIRST) $$els; do \ |
28049
25ba68b7cbdb
(compile-files): Compile files one by one because
Gerd Moellmann <gerd@gnu.org>
parents:
27503
diff
changeset
|
124 echo Compiling $$el; \ |
25ba68b7cbdb
(compile-files): Compile files one by one because
Gerd Moellmann <gerd@gnu.org>
parents:
27503
diff
changeset
|
125 EMACSLOADPATH=`pwd` $(emacs) -f batch-byte-compile $$el ;\ |
25ba68b7cbdb
(compile-files): Compile files one by one because
Gerd Moellmann <gerd@gnu.org>
parents:
27503
diff
changeset
|
126 done |
25941
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
127 |
26145
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
128 # Backup compiled Lisp files in elc.tar.gz. If that file already |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
129 # exists, make a backup of it. |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
130 |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
131 backup-compiled-files: |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
132 -mv elc.tar.gz elc.tar.gz~ |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
133 tar czf elc.tar.gz *.elc */*.elc |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
134 |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
135 # Compile Lisp files, but save old compiled files first. |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
136 |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
137 compile: backup-compiled-files compile-files |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
138 |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
139 # Recompile all Lisp files which are newer than their .elc files. |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
140 # Note that this doesn't create .elc files. It only recompiles if an |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
141 # .elc is present. |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
142 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
143 recompile: doit |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
144 $(emacs) -f batch-byte-recompile-directory . |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
145 |
28291
a4faa7999de1
(bootstrap-clean): If $(emacs) exists, build
Gerd Moellmann <gerd@gnu.org>
parents:
28049
diff
changeset
|
146 # Prepare a bootstrap in the lisp subdirectory. Build loaddefs.el, |
a4faa7999de1
(bootstrap-clean): If $(emacs) exists, build
Gerd Moellmann <gerd@gnu.org>
parents:
28049
diff
changeset
|
147 # because it's not sure it's up-to-date, and if it's not, that might |
a4faa7999de1
(bootstrap-clean): If $(emacs) exists, build
Gerd Moellmann <gerd@gnu.org>
parents:
28049
diff
changeset
|
148 # lead to errors during the bootstrap because something fails to |
a4faa7999de1
(bootstrap-clean): If $(emacs) exists, build
Gerd Moellmann <gerd@gnu.org>
parents:
28049
diff
changeset
|
149 # autoload as expected. Remove compiled Lisp files so that |
a4faa7999de1
(bootstrap-clean): If $(emacs) exists, build
Gerd Moellmann <gerd@gnu.org>
parents:
28049
diff
changeset
|
150 # bootstrap-emacs will be built from sources only. |
26145
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
151 |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
152 bootstrap-clean: |
28291
a4faa7999de1
(bootstrap-clean): If $(emacs) exists, build
Gerd Moellmann <gerd@gnu.org>
parents:
28049
diff
changeset
|
153 if test -f $(emacs); then $(MAKE) $(MFLAGS) autoloads; fi |
26145
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
154 -rm -f *.elc */*.elc |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
155 |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
156 # Generate/update files for the bootstrap process. |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
157 |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
158 bootstrap: compile-files autoloads custom-deps |
760a5b91fe7f
(compile-files, backup-compiled-files): New targets.
Gerd Moellmann <gerd@gnu.org>
parents:
26112
diff
changeset
|
159 |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
160 # Makefile ends here. |