Mercurial > emacs
annotate lisp/Makefile.in @ 38136:278f2295cde6
New node Program Misc; text about word and paragraph and selective
display features moved there.
Major rewrite of Programming Modes node.
Mention font lock and compilation commands in initial list of
capabilities.
Rewrite explanation of C-M- convention.
In Basic Indent, add intro text.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 20 Jun 2001 10:57:04 +0000 |
parents | ebec0594dece |
children | 8b46b3446482 |
rev | line source |
---|---|
29657 | 1 # Maintenance productions for the Lisp directory |
36226 | 2 # Copyright (C) 2000, 2001 Free Software Foundation, Inc. |
3 | |
4 # This file is part of GNU Emacs. | |
5 | |
6 # GNU Emacs is free software; you can redistribute it and/or modify | |
7 # it under the terms of the GNU General Public License as published by | |
8 # the Free Software Foundation; either version 2, or (at your option) | |
9 # any later version. | |
10 | |
11 # GNU Emacs is distributed in the hope that it will be useful, | |
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 # GNU General Public License for more details. | |
15 | |
16 # You should have received a copy of the GNU General Public License | |
17 # along with GNU Emacs; see the file COPYING. If not, write to | |
18 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
19 # Boston, MA 02111-1307, USA. | |
29657 | 20 |
29679
97ed659aea4e
(SHELL): Make sure /bin/sh is used.
Eli Zaretskii <eliz@gnu.org>
parents:
29657
diff
changeset
|
21 SHELL = /bin/sh |
97ed659aea4e
(SHELL): Make sure /bin/sh is used.
Eli Zaretskii <eliz@gnu.org>
parents:
29657
diff
changeset
|
22 |
29657 | 23 lisp=@srcdir@ |
24 VPATH=@srcdir@ | |
29704
ce8197473e44
(srcdir): Define for update-subdirs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
29703
diff
changeset
|
25 srcdir=@srcdir@/.. |
29657 | 26 |
27 # You can specify a different executable on the make command line, | |
28 # e.g. "make EMACS=../src/emacs ...". | |
29 | |
30 EMACS = ../src/emacs | |
31 | |
32 # Command line flags for Emacs. This must include --multibyte, | |
33 # otherwise some files will not compile. | |
34 | |
35 EMACSOPT = -batch --no-site-file --multibyte | |
36 | |
37 SOURCES = *.el COPYING Makefile | |
38 lisptagsfiles1 = $(lisp)/[a-zA-Z]*.el | |
39 lisptagsfiles2 = $(lisp)/[a-zA-Z]*/[a-zA-Z]*.el | |
40 ETAGS = ../lib-src/etags | |
41 | |
30084
bafd38c61694
(DONTCOMPILE): Add comment that the name may
Gerd Moellmann <gerd@gnu.org>
parents:
29935
diff
changeset
|
42 # Files which should not be compiled. If you change the name `DONTCOMPILE' |
bafd38c61694
(DONTCOMPILE): Add comment that the name may
Gerd Moellmann <gerd@gnu.org>
parents:
29935
diff
changeset
|
43 # to something different, you'll have to change make-dist as well. |
bafd38c61694
(DONTCOMPILE): Add comment that the name may
Gerd Moellmann <gerd@gnu.org>
parents:
29935
diff
changeset
|
44 # |
29657 | 45 # - emacs-lisp/cl-specs.el: only contains `def-edebug-spec's so there's |
46 # no point compiling it, although it doesn't hurt. | |
47 | |
48 DONTCOMPILE = \ | |
49 $(lisp)/cus-load.el \ | |
50 $(lisp)/cus-start.el \ | |
51 $(lisp)/emacs-lisp/cl-specs.el \ | |
29874
faee0fe8fa05
(DONTCOMPILE): Add eshell/esh-maint.el.
Gerd Moellmann <gerd@gnu.org>
parents:
29704
diff
changeset
|
52 $(lisp)/eshell/esh-maint.el \ |
31379
58ff79ca361e
(DONTCOMPILE): Fix typo in file name.
Gerd Moellmann <gerd@gnu.org>
parents:
30095
diff
changeset
|
53 $(lisp)/eshell/esh-groups.el \ |
29657 | 54 $(lisp)/finder-inf.el \ |
55 $(lisp)/forms-d2.el \ | |
56 $(lisp)/forms-pass.el \ | |
57 $(lisp)/generic-x.el \ | |
58 $(lisp)/international/latin-1.el \ | |
59 $(lisp)/international/latin-2.el \ | |
60 $(lisp)/international/latin-3.el \ | |
61 $(lisp)/international/latin-4.el \ | |
62 $(lisp)/international/latin-5.el \ | |
63 $(lisp)/international/latin-8.el \ | |
64 $(lisp)/international/latin-9.el \ | |
65 $(lisp)/international/mule-conf.el \ | |
66 $(lisp)/loaddefs.el \ | |
67 $(lisp)/loadup.el \ | |
68 $(lisp)/mail/blessmail.el \ | |
69 $(lisp)/mail/sc.el \ | |
70 $(lisp)/patcomp.el \ | |
71 $(lisp)/paths.el \ | |
72 $(lisp)/play/bruce.el \ | |
73 $(lisp)/subdirs.el \ | |
74 $(lisp)/term/internal.el \ | |
35605
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
75 $(lisp)/term/AT386.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
76 $(lisp)/term/apollo.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
77 $(lisp)/term/bobcat.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
78 $(lisp)/term/iris-ansi.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
79 $(lisp)/term/keyswap.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
80 $(lisp)/term/linux.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
81 $(lisp)/term/lk201.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
82 $(lisp)/term/news.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
83 $(lisp)/term/vt102.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
84 $(lisp)/term/vt125.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
85 $(lisp)/term/vt200.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
86 $(lisp)/term/vt201.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
87 $(lisp)/term/vt220.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
88 $(lisp)/term/vt240.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
89 $(lisp)/term/vt300.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
90 $(lisp)/term/vt320.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
91 $(lisp)/term/vt400.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
92 $(lisp)/term/vt420.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
93 $(lisp)/term/wyse50.el \ |
0689ddc1751c
(DONTCOMPILE): Add various term files.
Gerd Moellmann <gerd@gnu.org>
parents:
33667
diff
changeset
|
94 $(lisp)/term/xterm.el \ |
29657 | 95 $(lisp)/version.el |
96 | |
36918
b485ed237672
(COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents:
36226
diff
changeset
|
97 # Files to compile before others during a bootstrap. This is done to |
b485ed237672
(COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents:
36226
diff
changeset
|
98 # speed up the bootstrap process. The CC files are compiled first |
b485ed237672
(COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents:
36226
diff
changeset
|
99 # because CC mode tweaks the compilation process, and requiring |
b485ed237672
(COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents:
36226
diff
changeset
|
100 # cc-mode when it is not compiled doesn't work during the |
b485ed237672
(COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents:
36226
diff
changeset
|
101 # bootstrapping. |
29657 | 102 |
103 COMPILE_FIRST = \ | |
104 $(lisp)/emacs-lisp/byte-opt.el \ | |
105 $(lisp)/emacs-lisp/bytecomp.el \ | |
36918
b485ed237672
(COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents:
36226
diff
changeset
|
106 $(lisp)/subr.el \ |
b485ed237672
(COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents:
36226
diff
changeset
|
107 $(lisp)/progmodes/cc-mode.el \ |
b485ed237672
(COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents:
36226
diff
changeset
|
108 $(lisp)/progmodes/cc-vars.el |
29657 | 109 |
110 # The actual Emacs command run in the targets below. | |
111 | |
33158
075e5f998739
* Makefile.in (emacs): Set EMACSLOADPATH always.
Ken Raeburn <raeburn@raeburn.org>
parents:
32884
diff
changeset
|
112 emacs = EMACSLOADPATH=$(lisp) $(EMACS) $(EMACSOPT) |
29657 | 113 |
114 # Common command to find subdirectories | |
115 | |
116 setwins=subdirs=`find $$wd -type d -print`; \ | |
117 for file in $$subdirs; do \ | |
118 case $$file in */Old | */RCS | */CVS | */CVS/* | */=* ) ;; \ | |
119 *) wins="$$wins $$file" ;; \ | |
120 esac; \ | |
121 done | |
37275
9a3f00ed6c43
(nonobsolete_setwins): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
36918
diff
changeset
|
122 nonobsolete_setwins=subdirs=`find $$wd -type d -print`; \ |
9a3f00ed6c43
(nonobsolete_setwins): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
36918
diff
changeset
|
123 for file in $$subdirs; do \ |
9a3f00ed6c43
(nonobsolete_setwins): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
36918
diff
changeset
|
124 case $$file in */Old | */RCS | */CVS | */CVS/* | */=* | */obsolete ) ;; \ |
9a3f00ed6c43
(nonobsolete_setwins): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
36918
diff
changeset
|
125 *) wins="$$wins $$file" ;; \ |
9a3f00ed6c43
(nonobsolete_setwins): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
36918
diff
changeset
|
126 esac; \ |
9a3f00ed6c43
(nonobsolete_setwins): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
36918
diff
changeset
|
127 done |
29657 | 128 |
129 doit: | |
130 | |
131 cus-load.el: | |
132 touch $@ | |
133 custom-deps: cus-load.el doit | |
134 wd=$(lisp); $(setwins); \ | |
135 echo Directories: $$wins; \ | |
33505
2b0399706883
(custom-deps, finder-data, autoloads, recompile): Don't set EMACSLOADPATH.
Eli Zaretskii <eliz@gnu.org>
parents:
33158
diff
changeset
|
136 $(EMACS) $(EMACSOPT) -l cus-dep -f custom-make-dependencies $$wins |
29657 | 137 |
138 finder-inf.el: | |
139 echo "(provide 'finder-inf)" >> $@ | |
140 finder-data: finder-inf.el doit | |
37275
9a3f00ed6c43
(nonobsolete_setwins): New macro.
Gerd Moellmann <gerd@gnu.org>
parents:
36918
diff
changeset
|
141 wd=$(lisp); $(nonobsolete_setwins); \ |
29657 | 142 echo Directories: $$wins; \ |
33505
2b0399706883
(custom-deps, finder-data, autoloads, recompile): Don't set EMACSLOADPATH.
Eli Zaretskii <eliz@gnu.org>
parents:
33158
diff
changeset
|
143 $(EMACS) $(EMACSOPT) -l finder -f finder-compile-keywords-make-dist $$wins |
29657 | 144 |
145 loaddefs.el: | |
146 echo ";;; loaddefs.el --- automatically extracted autoloads" >> $@ | |
147 echo ";;" >> $@; echo ";;; Code:" >> $@ | |
148 echo "" >> $@ | |
149 echo ";;; Local Variables:" >> $@ | |
150 echo ";;; version-control: never" >> $@ | |
151 echo ";;; no-byte-compile: t" >> $@ | |
152 echo ";;; no-update-autoloads: t" >> $@ | |
153 echo ";;; End:" >> $@ | |
154 echo ";;; loaddefs.el ends here" >> $@ | |
155 autoloads: loaddefs.el doit | |
156 wd=$(lisp); $(setwins); \ | |
157 echo Directories: $$wins; \ | |
33505
2b0399706883
(custom-deps, finder-data, autoloads, recompile): Don't set EMACSLOADPATH.
Eli Zaretskii <eliz@gnu.org>
parents:
33158
diff
changeset
|
158 $(EMACS) $(EMACSOPT) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins |
29657 | 159 |
160 subdirs.el: | |
161 $(MAKE) $(MFLAGS) update-subdirs | |
162 update-subdirs: doit | |
163 wd=$(lisp); $(setwins); \ | |
164 for file in $$wins; do \ | |
165 $(srcdir)/update-subdirs $$file; \ | |
166 done; | |
167 | |
168 updates: update-subdirs autoloads finder-data custom-deps | |
169 | |
32884
f677903fb663
(update-authors): New target for maintenance
Gerd Moellmann <gerd@gnu.org>
parents:
31379
diff
changeset
|
170 # Update the AUTHORS file. |
f677903fb663
(update-authors): New target for maintenance
Gerd Moellmann <gerd@gnu.org>
parents:
31379
diff
changeset
|
171 |
f677903fb663
(update-authors): New target for maintenance
Gerd Moellmann <gerd@gnu.org>
parents:
31379
diff
changeset
|
172 update-authors: |
33158
075e5f998739
* Makefile.in (emacs): Set EMACSLOADPATH always.
Ken Raeburn <raeburn@raeburn.org>
parents:
32884
diff
changeset
|
173 $(emacs) -f batch-update-authors $(srcdir)/AUTHORS $(srcdir) |
32884
f677903fb663
(update-authors): New target for maintenance
Gerd Moellmann <gerd@gnu.org>
parents:
31379
diff
changeset
|
174 |
29657 | 175 TAGS: $(lisptagsfiles1) $(lisptagsfiles2) |
176 ${ETAGS} $(lisptagsfiles1) $(lisptagsfiles2) | |
177 | |
30095
96039cc24acf
(TAGS-LISP): Don't use `$(lispsource)'.
Gerd Moellmann <gerd@gnu.org>
parents:
30084
diff
changeset
|
178 TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) |
96039cc24acf
(TAGS-LISP): Don't use `$(lispsource)'.
Gerd Moellmann <gerd@gnu.org>
parents:
30084
diff
changeset
|
179 ${ETAGS} -o TAGS-LISP $(lisptagsfiles1) $(lisptagsfiles2) |
29657 | 180 |
33667
646b893652e6
(.SUFFIXES): Add .SUFFIXES.
Gerd Moellmann <gerd@gnu.org>
parents:
33626
diff
changeset
|
181 .SUFFIXES: .elc .el |
646b893652e6
(.SUFFIXES): Add .SUFFIXES.
Gerd Moellmann <gerd@gnu.org>
parents:
33626
diff
changeset
|
182 |
29657 | 183 .el.elc: subdirs.el |
33158
075e5f998739
* Makefile.in (emacs): Set EMACSLOADPATH always.
Ken Raeburn <raeburn@raeburn.org>
parents:
32884
diff
changeset
|
184 -$(emacs) -f batch-byte-compile $< |
29657 | 185 |
186 $(DONTCOMPILE:.el=.elc): | |
187 -rm -f $@ | |
188 | |
189 # Compile all Lisp files, except those from DONTCOMPILE. This | |
190 # compiles files unconditionally. All .elc files are made writable | |
191 # before compilation in case we checked out read-only (CVS option -r). | |
192 # Files MUST be compiled one by one. If we compile several files in a | |
193 # row we can't make sure that the compilation environment is clean. | |
194 # We also set the load-path of the Emacs used for compilation to the | |
195 # current directory and its subdirectories, to make sure require's and | |
196 # load's in the files being compiled find the right files. | |
197 | |
198 compile-files: subdirs.el doit | |
37678
ebec0594dece
(compile-files): Redirect output of chmod to
Gerd Moellmann <gerd@gnu.org>
parents:
37275
diff
changeset
|
199 find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1; \ |
29657 | 200 wd=$(lisp); $(setwins); \ |
201 elpat=`echo $$wins | tr ' ' '\012\012' | \ | |
202 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \ | |
203 els=`echo $$elpat $(DONTCOMPILE) $(COMPILE_FIRST) | \ | |
204 tr ' ' '\012\012' | sort | uniq -u`; \ | |
205 for el in $(COMPILE_FIRST) $$els; do \ | |
206 echo Compiling $$el; \ | |
33158
075e5f998739
* Makefile.in (emacs): Set EMACSLOADPATH always.
Ken Raeburn <raeburn@raeburn.org>
parents:
32884
diff
changeset
|
207 $(emacs) -f batch-byte-compile $$el || exit 1; \ |
29657 | 208 done |
209 | |
210 # Backup compiled Lisp files in elc.tar.gz. If that file already | |
211 # exists, make a backup of it. | |
212 | |
213 backup-compiled-files: | |
214 -mv $(lisp)/elc.tar.gz $(lisp)/elc.tar.gz~ | |
215 -tar czf $(lisp)/elc.tar.gz $(lisp)/*.elc $(lisp)/*/*.elc | |
216 | |
217 # Compile Lisp files, but save old compiled files first. | |
218 | |
219 compile: backup-compiled-files compile-files | |
220 | |
221 # Recompile all Lisp files which are newer than their .elc files. | |
222 # Note that this doesn't create .elc files. It only recompiles if an | |
223 # .elc is present. | |
224 | |
225 recompile: doit | |
33505
2b0399706883
(custom-deps, finder-data, autoloads, recompile): Don't set EMACSLOADPATH.
Eli Zaretskii <eliz@gnu.org>
parents:
33158
diff
changeset
|
226 $(EMACS) $(EMACSOPT) -f batch-byte-recompile-directory $(lisp) |
29657 | 227 |
228 # Prepare a bootstrap in the lisp subdirectory. Build loaddefs.el, | |
229 # because it's not sure it's up-to-date, and if it's not, that might | |
230 # lead to errors during the bootstrap because something fails to | |
231 # autoload as expected. Remove compiled Lisp files so that | |
232 # bootstrap-emacs will be built from sources only. | |
233 | |
234 bootstrap-clean: | |
235 if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi | |
236 -rm -f $(lisp)/*.elc $(lisp)/*/*.elc | |
237 | |
238 # Generate/update files for the bootstrap process. | |
239 | |
240 bootstrap: autoloads compile-files custom-deps | |
241 | |
29703 | 242 distclean: |
243 -rm -f $(lisp)/Makefile | |
244 | |
29657 | 245 # Makefile ends here. |