Mercurial > emacs
annotate lisp/Makefile @ 25971:999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sun, 10 Oct 1999 19:19:48 +0000 |
parents | 9fb5da1b86d6 |
children | e7205498db63 |
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 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
8 EMACS = emacs |
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 # Leave this in. I don't know if some utility depends on it. |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
21 |
17903
aa26c694525e
(dontcompilefiles): Add list of files that should not be byte-compiled.
Richard M. Stallman <rms@gnu.org>
parents:
17748
diff
changeset
|
22 dontcompilefiles: bindings.el blessmail.el bruce.el cus-load.el cus-start.el |
19157
5dada86a0c63
(dontcompilefiles): Delete cyril-util.el.
Richard M. Stallman <rms@gnu.org>
parents:
18962
diff
changeset
|
23 dontcompilefiles: forms-d2.el forms-pass.el |
18482
9c5e6b1dafc5
(lisptagsfiles): Look at subdirs only if name
Richard M. Stallman <rms@gnu.org>
parents:
17942
diff
changeset
|
24 dontcompilefiles: latin-1.el latin-2.el latin-3.el latin-4.el latin-5.el |
17903
aa26c694525e
(dontcompilefiles): Add list of files that should not be byte-compiled.
Richard M. Stallman <rms@gnu.org>
parents:
17748
diff
changeset
|
25 dontcompilefiles: loaddefs.el loadup.el mule-conf.el patcomp.el |
aa26c694525e
(dontcompilefiles): Add list of files that should not be byte-compiled.
Richard M. Stallman <rms@gnu.org>
parents:
17748
diff
changeset
|
26 dontcompilefiles: paths.el sc.el subdirs.el term-nasty.el version.el |
25104
ce45b5985d7e
(dontcompilefiles): Add latin-[89].el.
Dave Love <fx@gnu.org>
parents:
24035
diff
changeset
|
27 dontcompilefiles: generic-x.el latin-8.el latin-9.el |
17903
aa26c694525e
(dontcompilefiles): Add list of files that should not be byte-compiled.
Richard M. Stallman <rms@gnu.org>
parents:
17748
diff
changeset
|
28 |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
29 # 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
|
30 # to the `lisp' directory. |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
31 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
32 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
|
33 cus-start.el forms-d2.el forms-pass.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
34 international/latin-1.el international/latin-2.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
35 international/latin-3.el international/latin-4.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
36 international/latin-5.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
37 loaddefs.el loadup.el international/mule-conf.el patcomp.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
38 paths.el mail/sc.el subdirs.el term-nasty.el version.el \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
39 generic-x.el international/latin-8.el international/latin-9.el |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
40 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
41 # All Lisp source files in the current directory. |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
42 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
43 EL = $(lisptagsfiles1) $(lisptagsfiles2) |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
44 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
45 # The actual Emacs command run in the targets below. |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
46 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
47 emacs = $(EMACS) $(EMACSOPT) |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
48 |
25941
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
49 # The Emacs used to compile Lisp files from scratch. |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
50 |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
51 temacs=../src/temacs -batch -l ./loadup.el |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
52 |
25961
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
53 # Common command to find subdirectories |
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
54 |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
55 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
|
56 for file in $$subdirs; do \ |
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
57 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
|
58 *) wins="$$wins $$file" ;; \ |
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
59 esac; \ |
24f775e3facc
(setwins): abstract out the command to find subdirectories
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25941
diff
changeset
|
60 done |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
61 |
17394
b793e8f5a9c2
Added cus-load.el target.
Per Abrahamsen <abraham@dina.kvl.dk>
parents:
17392
diff
changeset
|
62 doit: |
b793e8f5a9c2
Added cus-load.el target.
Per Abrahamsen <abraham@dina.kvl.dk>
parents:
17392
diff
changeset
|
63 |
17743
8ec60a2d3ddb
(custom-deps): Target renamed from cus-load.el.
Richard M. Stallman <rms@gnu.org>
parents:
17399
diff
changeset
|
64 custom-deps: 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 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
|
68 |
17743
8ec60a2d3ddb
(custom-deps): Target renamed from cus-load.el.
Richard M. Stallman <rms@gnu.org>
parents:
17399
diff
changeset
|
69 finder-data: doit |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
70 wd=.; $(setwins); \ |
21756
ed07a8592f60
(custom-deps, updates): Allow cus-dep to be compiled.
Richard M. Stallman <rms@gnu.org>
parents:
21753
diff
changeset
|
71 echo Directories: $$wins; \ |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
72 $(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
|
73 |
04fc73bb3416
(finder-inf.el, autoloads): New targets.
Richard M. Stallman <rms@gnu.org>
parents:
17394
diff
changeset
|
74 autoloads: doit |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
75 wd=.; $(setwins); \ |
21756
ed07a8592f60
(custom-deps, updates): Allow cus-dep to be compiled.
Richard M. Stallman <rms@gnu.org>
parents:
21753
diff
changeset
|
76 echo Directories: $$wins; \ |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
77 $(emacs) -f batch-update-autoloads $$wins |
17746
e3508d038aee
(autoloads, custom-deps, finder-data):
Richard M. Stallman <rms@gnu.org>
parents:
17743
diff
changeset
|
78 |
17748
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
79 update-subdirs: doit |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
80 wd=.; $(setwins); \ |
17748
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
81 for file in $$wins; do \ |
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
82 ../update-subdirs $$file; \ |
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
83 done; |
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
84 |
17746
e3508d038aee
(autoloads, custom-deps, finder-data):
Richard M. Stallman <rms@gnu.org>
parents:
17743
diff
changeset
|
85 updates: doit |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
86 wd=.; $(setwins); \ |
17748
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
87 for file in $$wins; do \ |
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
88 ../update-subdirs $$file; \ |
689e217c6c8e
(update-subdirs): New target.
Richard M. Stallman <rms@gnu.org>
parents:
17746
diff
changeset
|
89 done; \ |
21756
ed07a8592f60
(custom-deps, updates): Allow cus-dep to be compiled.
Richard M. Stallman <rms@gnu.org>
parents:
21753
diff
changeset
|
90 echo Directories: $$wins; \ |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
91 $(emacs) -l cus-dep -f custom-make-dependencies $$wins; \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
92 $(emacs) -l finder -f finder-compile-keywords-make-dist $$wins; \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
93 $(emacs) -f batch-update-autoloads $$wins |
17394
b793e8f5a9c2
Added cus-load.el target.
Per Abrahamsen <abraham@dina.kvl.dk>
parents:
17392
diff
changeset
|
94 |
21924
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
95 TAGS: $(lisptagsfiles1) $(lisptagsfiles2) |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
96 ${ETAGS} $(lisptagsfiles1) $(lisptagsfiles2) |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
97 |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
98 TAGS-LISP: $(lispsource)$(lisptagsfiles1) $(lispsource)$(lisptagsfiles2) |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
99 ${ETAGS} -o TAGS-LISP \ |
e37aa6f8f583
(TAGS-LISP): New target.
Richard M. Stallman <rms@gnu.org>
parents:
21756
diff
changeset
|
100 $(lispsource)$(lisptagsfiles1) $(lispsource)$(lisptagsfiles2) |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
101 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
102 # Compile all Lisp files, except those from DONTCOMPILE. This |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
103 # compiles files unconditionally. All .elc files are made writable |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
104 # before compilation in case we checked out read-only (CVS option -r). |
25936
3223912646d8
(compile): Compile files one by one. Set load-path to
Gerd Moellmann <gerd@gnu.org>
parents:
25917
diff
changeset
|
105 # Files must be compiled one by one, otherwise apparently |
3223912646d8
(compile): Compile files one by one. Set load-path to
Gerd Moellmann <gerd@gnu.org>
parents:
25917
diff
changeset
|
106 # eval-when-compile's in some Lisp files make problems in files being |
3223912646d8
(compile): Compile files one by one. Set load-path to
Gerd Moellmann <gerd@gnu.org>
parents:
25917
diff
changeset
|
107 # compiled later. We also set the load-path of the Emacs used for |
3223912646d8
(compile): Compile files one by one. Set load-path to
Gerd Moellmann <gerd@gnu.org>
parents:
25917
diff
changeset
|
108 # compilation to the current directory and its subdirectories, to |
3223912646d8
(compile): Compile files one by one. Set load-path to
Gerd Moellmann <gerd@gnu.org>
parents:
25917
diff
changeset
|
109 # make sure require's and load's in the files being compiled find |
3223912646d8
(compile): Compile files one by one. Set load-path to
Gerd Moellmann <gerd@gnu.org>
parents:
25917
diff
changeset
|
110 # the right files. |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
111 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
112 compile: doit |
25936
3223912646d8
(compile): Compile files one by one. Set load-path to
Gerd Moellmann <gerd@gnu.org>
parents:
25917
diff
changeset
|
113 wd=`pwd`; \ |
25941
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
114 find $$wd -name "*.elc" -print | xargs chmod +w; \ |
25971
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
115 subdirs=`find $$wd -type d -print`; \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
116 for dir in $$subdirs; do \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
117 case $$dir in \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
118 */Old | */RCS | */CVS | */=* ) ;; \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
119 *) loadpath="$$loadpath \"$$dir\"" ;; \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
120 esac; \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
121 done; \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
122 loadpath="(setq load-path '($$loadpath))"; \ |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
123 dont_compile=`echo $(DONTCOMPILE)`; \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
124 for el in $(EL); do \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
125 compile_it=y; \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
126 for dont in $$dont_compile; do \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
127 if test $$el = $$dont; then \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
128 compile_it=n; \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
129 fi; \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
130 done; \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
131 if test $$compile_it = y; then \ |
25971
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
132 echo $(emacs) --eval "$$loadpath" -f batch-byte-compile $$el; \ |
25936
3223912646d8
(compile): Compile files one by one. Set load-path to
Gerd Moellmann <gerd@gnu.org>
parents:
25917
diff
changeset
|
133 $(emacs) --eval "$$loadpath" -f batch-byte-compile $$el; \ |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
134 else \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
135 echo "Don't compile $$el"; \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
136 fi; \ |
25936
3223912646d8
(compile): Compile files one by one. Set load-path to
Gerd Moellmann <gerd@gnu.org>
parents:
25917
diff
changeset
|
137 done |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
138 |
25941
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
139 # Compile Lisp files when all we have is the temacs in ../src. All |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
140 # .elc files under the current directory are deleted first to make |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
141 # sure we start from a clean basis. |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
142 |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
143 bootstrap-compile: doit |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
144 wd=`pwd`; \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
145 find $$wd -name "*.elc" -print | xargs rm -f \ |
25971
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
146 subdirs=`find $$wd -type d -print`; \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
147 for dir in $$subdirs; do \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
148 case $$dir in \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
149 */Old | */RCS | */CVS | */=* ) ;; \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
150 *) loadpath="$$loadpath \"$$dir\"" ;; \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
151 esac; \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
152 done; \ |
999bac80682f
(compile, bootstrap-compile): don't use setwins: I'm an idiot.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25969
diff
changeset
|
153 loadpath="(setq load-path '($$loadpath))"; \ |
25941
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
154 dont_compile=`echo $(DONTCOMPILE)`; \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
155 for el in $(EL); do \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
156 compile_it=y; \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
157 for dont in $$dont_compile; do \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
158 if test $$el = $$dont; then \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
159 compile_it=n; \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
160 fi; \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
161 done; \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
162 if test $$compile_it = y; then \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
163 $(temacs) --eval "$$loadpath" -f batch-byte-compile $$el; \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
164 else \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
165 echo "Don't compile $$el"; \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
166 fi; \ |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
167 done |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
168 |
aff7b4b37817
(bootstrap-compile): New target. Compile Lisp
Gerd Moellmann <gerd@gnu.org>
parents:
25936
diff
changeset
|
169 |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
170 # 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
|
171 # 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
|
172 # .elc is present. |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
173 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
174 recompile: doit |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
175 $(emacs) -f batch-byte-recompile-directory . |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
176 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
177 # Build loaddefs.el but with an Emacs executable which was not built |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
178 # in the current directory tree. The problem in this case is that |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
179 # autoload.el reads and writes loaddefs.el in its `source-directory'. |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
180 # If that's different from the current directory tree, we can't build |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
181 # loaddefs.el. |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
182 # Can't this rule be used in place of `autoload'? -sm |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
183 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
184 autoloads-with-other-emacs: doit |
25964
2a98301789cd
(setwins): generalized a little.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
25961
diff
changeset
|
185 wd=.; $(setwins); \ |
25917
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
186 echo Directories: $$wins; \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
187 $(emacs) --eval '(setq source-directory ".")' \ |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
188 -f batch-update-autoloads $$wins |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
189 |
663097d932a4
(EMACSOPT, DONTCOMPILE, EL): New.
Gerd Moellmann <gerd@gnu.org>
parents:
25340
diff
changeset
|
190 # Makefile ends here. |