Mercurial > emacs
comparison lisp/makefile.w32-in @ 88155:d7ddb3e565de
sync with trunk
author | Henrik Enberg <henrik.enberg@telia.com> |
---|---|
date | Mon, 16 Jan 2006 00:03:54 +0000 |
parents | 1df1c7ec81fd |
children |
comparison
equal
deleted
inserted
replaced
88154:8ce476d3ba36 | 88155:d7ddb3e565de |
---|---|
1 # Makefile for GNU Emacs on the Microsoft W32 API. | 1 # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API. |
2 # Copyright (c) 2000-2001 Free Software Foundation, Inc. | 2 # Copyright (C) 2000, 2001, 2002, 2003, 2004, |
3 # 2005 Free Software Foundation, Inc. | |
3 # | 4 # |
4 # This file is part of GNU Emacs. | 5 # This file is part of GNU Emacs. |
5 # | 6 # |
6 # GNU Emacs is free software; you can redistribute it and/or modify | 7 # 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 # it under the terms of the GNU General Public License as published by |
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 # GNU General Public License for more details. | 15 # GNU General Public License for more details. |
15 # | 16 # |
16 # You should have received a copy of the GNU General Public License | 17 # 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 the | 18 # along with GNU Emacs; see the file COPYING. If not, write to the |
18 # Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 19 # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
19 # Boston, MA 02111-1307, USA. | 20 # Boston, MA 02110-1301, USA. |
20 # | 21 # |
21 | 22 |
22 ALL = | 23 ALL = |
23 | 24 |
24 all: $(ALL) | 25 all: $(ALL) |
43 EMACSLOADPATH=$(lisp) | 44 EMACSLOADPATH=$(lisp) |
44 | 45 |
45 lisptagsfiles1 = $(lisp)/*.el | 46 lisptagsfiles1 = $(lisp)/*.el |
46 lisptagsfiles2 = $(lisp)/*/*.el | 47 lisptagsfiles2 = $(lisp)/*/*.el |
47 ETAGS = "../lib-src/$(BLD)/etags" | 48 ETAGS = "../lib-src/$(BLD)/etags" |
48 | |
49 # Files which should not be compiled. If you change the name `DONTCOMPILE' | |
50 # to something different, you'll have to change make-dist as well, and | |
51 # modify the lists in $lisp and $shortlisp on src/Makefile.in. | |
52 # | |
53 # - emacs-lisp/cl-specs.el: only contains `def-edebug-spec's so there's | |
54 # no point compiling it, although it doesn't hurt. | |
55 | |
56 DONTCOMPILE = \ | |
57 $(lisp)/cus-load.el \ | |
58 $(lisp)/emacs-lisp/cl-specs.el \ | |
59 $(lisp)/eshell/esh-maint.el \ | |
60 $(lisp)/eshell/esh-groups.el \ | |
61 $(lisp)/finder-inf.el \ | |
62 $(lisp)/forms-d2.el \ | |
63 $(lisp)/forms-pass.el \ | |
64 $(lisp)/generic-x.el \ | |
65 $(lisp)/international/latin-1.el \ | |
66 $(lisp)/international/latin-2.el \ | |
67 $(lisp)/international/latin-3.el \ | |
68 $(lisp)/international/latin-4.el \ | |
69 $(lisp)/international/latin-5.el \ | |
70 $(lisp)/international/latin-8.el \ | |
71 $(lisp)/international/latin-9.el \ | |
72 $(lisp)/international/mule-conf.el \ | |
73 $(lisp)/language/czech.el \ | |
74 $(lisp)/language/devanagari.el \ | |
75 $(lisp)/language/malayalam.el \ | |
76 $(lisp)/language/tamil.el \ | |
77 $(lisp)/language/english.el \ | |
78 $(lisp)/language/greek.el \ | |
79 $(lisp)/language/hebrew.el \ | |
80 $(lisp)/language/japanese.el \ | |
81 $(lisp)/language/korean.el \ | |
82 $(lisp)/language/lao.el \ | |
83 $(lisp)/language/misc-lang.el \ | |
84 $(lisp)/language/romanian.el \ | |
85 $(lisp)/language/slovak.el \ | |
86 $(lisp)/language/thai.el \ | |
87 $(lisp)/language/utf-8-lang.el \ | |
88 $(lisp)/language/georgian.el \ | |
89 $(lisp)/loaddefs.el \ | |
90 $(lisp)/loadup.el \ | |
91 $(lisp)/mail/blessmail.el \ | |
92 $(lisp)/patcomp.el \ | |
93 $(lisp)/paths.el \ | |
94 $(lisp)/play/bruce.el \ | |
95 $(lisp)/subdirs.el \ | |
96 $(lisp)/term/internal.el \ | |
97 $(lisp)/term/AT386.el \ | |
98 $(lisp)/term/apollo.el \ | |
99 $(lisp)/term/bobcat.el \ | |
100 $(lisp)/term/iris-ansi.el \ | |
101 $(lisp)/term/keyswap.el \ | |
102 $(lisp)/term/linux.el \ | |
103 $(lisp)/term/lk201.el \ | |
104 $(lisp)/term/news.el \ | |
105 $(lisp)/term/vt102.el \ | |
106 $(lisp)/term/vt125.el \ | |
107 $(lisp)/term/vt200.el \ | |
108 $(lisp)/term/vt201.el \ | |
109 $(lisp)/term/vt220.el \ | |
110 $(lisp)/term/vt240.el \ | |
111 $(lisp)/term/vt300.el \ | |
112 $(lisp)/term/vt320.el \ | |
113 $(lisp)/term/vt400.el \ | |
114 $(lisp)/term/vt420.el \ | |
115 $(lisp)/term/wyse50.el \ | |
116 $(lisp)/version.el | |
117 | 49 |
118 # Files to compile before others during a bootstrap. This is done to | 50 # Files to compile before others during a bootstrap. This is done to |
119 # speed up the bootstrap process. The CC files are compiled first | 51 # speed up the bootstrap process. The CC files are compiled first |
120 # because CC mode tweaks the compilation process, and requiring | 52 # because CC mode tweaks the compilation process, and requiring |
121 # cc-mode when it is not compiled doesn't work during the | 53 # cc-mode when it is not compiled doesn't work during the |
157 obsolete \ | 89 obsolete \ |
158 play \ | 90 play \ |
159 progmodes \ | 91 progmodes \ |
160 term \ | 92 term \ |
161 textmodes \ | 93 textmodes \ |
162 toolbar | 94 url |
163 | 95 |
164 doit: | 96 doit: |
165 | 97 |
166 cus-load.el: | 98 $(lisp)/cus-load.el: |
167 touch $@ | 99 touch $@ |
168 custom-deps: cus-load.el doit | 100 # WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as |
101 # this can break with GNU Make 3.81 and later if sh.exe is used. | |
102 custom-deps: $(lisp)/cus-load.el doit | |
169 @echo Directories: $(WINS) | 103 @echo Directories: $(WINS) |
170 -$(emacs) -l cus-dep --eval $(ARGQUOTE)(setq find-file-hooks nil)$(ARGQUOTE) -f custom-make-dependencies $(lisp) $(WINS) | 104 -$(emacs) -l cus-dep --eval $(ARGQUOTE)(setq find-file-hook nil)$(ARGQUOTE) -f custom-make-dependencies $(lisp) $(WINS) |
171 | 105 |
172 finder-data: doit | 106 finder-data: doit |
173 @echo Directories: $(WINS) | 107 @echo Directories: $(WINS) |
174 $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS) | 108 $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS) |
175 | 109 |
176 loaddefs.el: | 110 $(lisp)/loaddefs.el: |
177 $(MAKE) $(MFLAGS) loaddefs.el-$(SHELLTYPE) | 111 $(MAKE) $(MFLAGS) loaddefs.el-$(SHELLTYPE) |
178 cp loaddefs.el-$(SHELLTYPE) $@ | 112 cp loaddefs.el-$(SHELLTYPE) $@ |
179 rm loaddefs.el-$(SHELLTYPE) | 113 rm loaddefs.el-$(SHELLTYPE) |
180 | 114 |
181 loaddefs.el-SH: | 115 loaddefs.el-SH: |
212 echo ;;; no-byte-compile: t>> $@ | 146 echo ;;; no-byte-compile: t>> $@ |
213 echo ;;; no-update-autoloads: t>> $@ | 147 echo ;;; no-update-autoloads: t>> $@ |
214 echo ;;; End:>> $@ | 148 echo ;;; End:>> $@ |
215 echo ;;; loaddefs.el ends here>> $@ | 149 echo ;;; loaddefs.el ends here>> $@ |
216 | 150 |
217 autoloads: loaddefs.el doit | 151 # Use . instead of $(lisp) because $(lisp) is an absolute file name, |
218 @echo Directories: $(WINS) | 152 # including a drive letter and any leading directories, so the generated |
153 # loaddefs.el will mention file names that on other machine reference | |
154 # possibly non-existent directories. | |
155 # | |
156 # WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as | |
157 # this can break with GNU Make 3.81 and later if sh.exe is used. | |
158 autoloads: $(lisp)/loaddefs.el doit | |
159 @echo Directories: . $(WINS) | |
219 $(emacs) -l autoload \ | 160 $(emacs) -l autoload \ |
220 --eval $(ARGQUOTE)(setq find-file-hooks nil \ | 161 --eval $(ARGQUOTE)(setq find-file-hook nil find-file-suppress-same-file-warnings t)$(ARGQUOTE) \ |
221 find-file-suppress-same-file-warnings t \ | 162 -f w32-batch-update-autoloads "$(lisp)/loaddefs.el" . $(WINS) |
222 generated-autoload-file \ | 163 |
223 $(DQUOTE)$(lisp)/loaddefs.el$(DQUOTE))$(ARGQUOTE) \ | 164 $(lisp)/subdirs.el: |
224 -f batch-update-autoloads $(lisp) $(WINS) | |
225 | |
226 subdirs.el: | |
227 $(MAKE) $(MFLAGS) update-subdirs | 165 $(MAKE) $(MFLAGS) update-subdirs |
228 | 166 |
229 # Need separate version for sh and native cmd.exe | 167 # Need separate version for sh and native cmd.exe |
230 update-subdirs: update-subdirs-$(SHELLTYPE) | 168 update-subdirs: update-subdirs-$(SHELLTYPE) |
231 | 169 |
232 update-subdirs-CMD: doit | 170 update-subdirs-CMD: doit |
233 echo ;; -*- no-byte-compile: t -*->subdirs.el | 171 echo ;; -*- no-byte-compile: t -*-> $(lisp)/subdirs.el |
234 echo ;; In load-path, after this directory should come>> subdirs.el | 172 echo ;; In load-path, after this directory should come>> $(lisp)/subdirs.el |
235 echo ;; certain of its subdirectories. Here we specify them.>> subdirs.el | 173 echo ;; certain of its subdirectories. Here we specify them.>> $(lisp)/subdirs.el |
236 echo (normal-top-level-add-to-load-path $(SQUOTE)(>> subdirs.el | 174 echo (normal-top-level-add-to-load-path $(SQUOTE)(>> $(lisp)/subdirs.el |
237 @for %d in ($(WINS)) do if not (%d)==(term) echo "%d">> subdirs.el | 175 @for %%d in ($(WINS)) do if not (%%d)==(term) echo "%%d">> $(lisp)/subdirs.el |
238 echo ))>> subdirs.el | 176 echo ))>> $(lisp)/subdirs.el |
239 | 177 |
240 update-subdirs-SH: doit | 178 update-subdirs-SH: doit |
241 $(srcdir)/update-subdirs $(lisp); \ | 179 $(srcdir)/update-subdirs $(lisp); \ |
242 for file in $(WINS); do \ | 180 for file in $(WINS); do \ |
243 $(srcdir)/update-subdirs $$file; \ | 181 $(srcdir)/update-subdirs $$file; \ |
244 done; | 182 done; |
245 | 183 |
246 updates: update-subdirs autoloads finder-data custom-deps | 184 updates: update-subdirs autoloads mh-autoloads finder-data custom-deps |
185 | |
186 # This is useful after "cvs up". | |
187 cvs-update: recompile autoloads finder-data custom-deps | |
247 | 188 |
248 # Update the AUTHORS file. | 189 # Update the AUTHORS file. |
249 | 190 |
250 update-authors: | 191 update-authors: |
251 $(emacs) -f batch-update-authors $(srcdir)/AUTHORS $(srcdir) | 192 $(emacs) -l authors -f batch-update-authors $(srcdir)/AUTHORS $(srcdir) |
252 | 193 |
253 TAGS: $(lisptagsfiles1) $(lisptagsfiles2) | 194 TAGS: $(lisptagsfiles1) $(lisptagsfiles2) |
254 $(ETAGS) $(lisptagsfiles1) $(lisptagsfiles2) | 195 $(ETAGS) $(lisptagsfiles1) $(lisptagsfiles2) |
255 | 196 |
256 TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) | 197 TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) |
259 .SUFFIXES: .elc .el | 200 .SUFFIXES: .elc .el |
260 | 201 |
261 .el.elc: | 202 .el.elc: |
262 -$(emacs) -f batch-byte-compile $< | 203 -$(emacs) -f batch-byte-compile $< |
263 | 204 |
264 $(DONTCOMPILE:.el=.elc): | 205 # Compile all Lisp files, but don't recompile those that are up to |
265 -$(DEL) $@ | 206 # date. Some files don't actually get compiled because they set the |
266 | 207 # local variable no-byte-compile. |
267 # Compile all Lisp files, except those from DONTCOMPILE, | 208 |
268 # but don't recompile those that are up to date. | 209 # All .elc files are made writable before compilation in case we |
269 | 210 # checked out read-only (CVS option -r). Files MUST be compiled one by |
270 # All .elc files are made writable | 211 # one. If we compile several files in a row we can't make sure that |
271 # before compilation in case we checked out read-only (CVS option -r). | 212 # the compilation environment is clean. We also set the load-path of |
272 # Files MUST be compiled one by one. If we compile several files in a | 213 # the Emacs used for compilation to the current directory and its |
273 # row we can't make sure that the compilation environment is clean. | 214 # subdirectories, to make sure require's and load's in the files being |
274 # We also set the load-path of the Emacs used for compilation to the | 215 # compiled find the right files. |
275 # current directory and its subdirectories, to make sure require's and | |
276 # load's in the files being compiled find the right files. | |
277 | 216 |
278 # Need separate version for sh and native cmd.exe | 217 # Need separate version for sh and native cmd.exe |
279 compile: subdirs.el compile-$(SHELLTYPE) doit | 218 compile: $(lisp)/subdirs.el mh-autoloads compile-$(SHELLTYPE) doit |
280 | 219 |
281 compile-CMD: | 220 compile-CMD: |
282 # -for %f in ($(lisp) $(WINS)) do for %g in (%f\*.elc) do @attrib -r %g | 221 # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g |
283 for %f in ($(COMPILE_FIRST)) do \ | 222 for %%f in ($(COMPILE_FIRST)) do \ |
284 $(emacs) -l loaddefs -f batch-byte-compile-if-not-done %f | 223 $(emacs) -l loaddefs -f batch-byte-compile-if-not-done %%f |
285 for %f in (. $(WINS)) do for %g in (%f/*.el) do \ | 224 for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do \ |
286 $(emacs) -l loaddefs -f batch-byte-compile-if-not-done %f/%g | 225 $(emacs) -l loaddefs -f batch-byte-compile-if-not-done %%f/%%g |
287 | 226 |
288 compile-SH: | 227 compile-SH: |
289 # for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done | 228 # for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done |
290 for el in $(COMPILE_FIRST); do \ | 229 for el in $(COMPILE_FIRST); do \ |
291 echo Compiling $$el; \ | 230 echo Compiling $$el; \ |
299 $(emacs) -l loaddefs -f batch-byte-compile-if-not-done $$el; \ | 238 $(emacs) -l loaddefs -f batch-byte-compile-if-not-done $$el; \ |
300 fi \ | 239 fi \ |
301 done; \ | 240 done; \ |
302 done | 241 done |
303 | 242 |
304 # Compile all Lisp files, except those from DONTCOMPILE. This | 243 # Compile all Lisp files. This is like `compile' but compiles files |
305 # is like `compile' but compiles files unconditionally. | 244 # unconditionally. Some files don't actually get compiled because they |
306 compile-always: subdirs.el compile-always-$(SHELLTYPE) doit | 245 # set the local variable no-byte-compile. |
246 | |
247 compile-always: $(lisp)/subdirs.el compile-always-$(SHELLTYPE) doit | |
307 | 248 |
308 compile-always-CMD: | 249 compile-always-CMD: |
309 # -for %f in ($(lisp) $(WINS)) do for %g in (%f\*.elc) do @attrib -r %g | 250 # -for %%f in ($(lisp) $(WINS)) do for %%g in (%%f\*.elc) do @attrib -r %%g |
310 for %f in ($(COMPILE_FIRST)) do $(emacs) -f batch-byte-compile %f | 251 for %%f in ($(COMPILE_FIRST)) do $(emacs) -f batch-byte-compile %%f |
311 for %f in (. $(WINS)) do for %g in (%f/*.el) do $(emacs) -f batch-byte-compile %f/%g | 252 for %%f in (. $(WINS)) do for %%g in (%%f/*.el) do $(emacs) -f batch-byte-compile %%f/%%g |
312 | 253 |
313 compile-always-SH: | 254 compile-always-SH: |
314 # for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done | 255 # for elc in $(lisp)/*.elc $(lisp)/*/*.elc; do attrib -r $$elc; done |
315 for el in $(COMPILE_FIRST); do \ | 256 for el in $(COMPILE_FIRST); do \ |
316 echo Compiling $$el; \ | 257 echo Compiling $$el; \ |
324 done | 265 done |
325 | 266 |
326 compile-calc: compile-calc-$(SHELLTYPE) | 267 compile-calc: compile-calc-$(SHELLTYPE) |
327 | 268 |
328 compile-calc-CMD: | 269 compile-calc-CMD: |
329 for %f in ($(lisp)/calc/*.el) do $(emacs) -f batch-byte-compile %f | 270 for %%f in ($(lisp)/calc/*.el) do $(emacs) -f batch-byte-compile %%f |
330 | 271 |
331 compile-calc-SH: | 272 compile-calc-SH: |
332 for el in $(lisp)/calc/*.el; do \ | 273 for el in $(lisp)/calc/*.el; do \ |
333 echo Compiling $$el; \ | 274 echo Compiling $$el; \ |
334 $(emacs) -f batch-byte-compile $$el || exit 1; \ | 275 $(emacs) -f batch-byte-compile $$el || exit 1; \ |
346 compile-after-backup: backup-compiled-files compile-always | 287 compile-after-backup: backup-compiled-files compile-always |
347 | 288 |
348 # Recompile all Lisp files which are newer than their .elc files. | 289 # Recompile all Lisp files which are newer than their .elc files. |
349 # Note that this doesn't create .elc files. It only recompiles if an | 290 # Note that this doesn't create .elc files. It only recompiles if an |
350 # .elc is present. | 291 # .elc is present. |
351 | 292 # WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as |
352 recompile: doit | 293 # this can break with GNU Make 3.81 and later if sh.exe is used. |
353 $(emacs) -f batch-byte-recompile-directory $(lisp) | 294 recompile: mh-autoloads doit $(lisp)/progmodes/cc-mode.elc |
354 | 295 $(emacs) --eval $(ARGQUOTE)(batch-byte-recompile-directory 0)$(ARGQUOTE) $(lisp) |
355 # Prepare a bootstrap in the lisp subdirectory. Build loaddefs.el, | 296 |
356 # because it's not sure it's up-to-date, and if it's not, that might | 297 # Update MH-E internal autoloads. These are not to be confused with |
357 # lead to errors during the bootstrap because something fails to | 298 # the autoloads for the MH-E entry points, which are already in |
358 # autoload as expected. Remove compiled Lisp files so that | 299 # loaddefs.el. |
359 # bootstrap-emacs will be built from sources only. | 300 MH_E_SRC = $(lisp)/mh-e/mh-acros.el $(lisp)/mh-e/mh-alias.el \ |
301 $(lisp)/mh-e/mh-buffers.el $(lisp)/mh-e/mh-comp.el \ | |
302 $(lisp)/mh-e/mh-customize.el $(lisp)/mh-e/mh-e.el \ | |
303 $(lisp)/mh-e/mh-funcs.el $(lisp)/mh-e/mh-identity.el \ | |
304 $(lisp)/mh-e/mh-inc.el $(lisp)/mh-e/mh-init.el \ | |
305 $(lisp)/mh-e/mh-junk.el $(lisp)/mh-e/mh-mime.el \ | |
306 $(lisp)/mh-e/mh-print.el $(lisp)/mh-e/mh-search.el \ | |
307 $(lisp)/mh-e/mh-seq.el $(lisp)/mh-e/mh-speed.el \ | |
308 $(lisp)/mh-e/mh-utils.el | |
309 | |
310 mh-autoloads: $(lisp)/mh-e/mh-loaddefs.el | |
311 $(lisp)/mh-e/mh-loaddefs.el: $(MH_E_SRC) | |
312 $(MAKE) $(MFLAGS) pre-mh-loaddefs.el-$(SHELLTYPE) | |
313 cp pre-mh-loaddefs.el-$(SHELLTYPE) $@ | |
314 rm pre-mh-loaddefs.el-$(SHELLTYPE) | |
315 $(EMACS) $(EMACSOPT) \ | |
316 -l autoload \ | |
317 --eval "(setq generate-autoload-cookie \";;;###mh-autoload\")" \ | |
318 --eval "(setq find-file-suppress-same-file-warnings t)" \ | |
319 --eval "(setq make-backup-files nil)" \ | |
320 -f w32-batch-update-autoloads \ | |
321 "$(lisp)/mh-e/mh-loaddefs.el" $(lisp)/mh-e | |
322 | |
323 pre-mh-loaddefs.el-SH: | |
324 echo ";;; mh-loaddefs.el --- automatically extracted autoloads" > $@ | |
325 echo ";;" >> $@ | |
326 echo ";; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc." >> $@ | |
327 echo ";; Author: Bill Wohler <wohler@newt.com>" >> $@ | |
328 echo ";; Keywords: mail" >> $@ | |
329 echo ";;; Commentary:" >> $@ | |
330 echo ";;; Change Log:" >> $@ | |
331 echo ";;; Code:" >> $@ | |
332 echo "" >> $@ | |
333 echo "(provide 'mh-loaddefs)" >> $@ | |
334 echo ";; Local Variables:" >> $@ | |
335 echo ";; version-control: never" >> $@ | |
336 echo ";; no-byte-compile: t" >> $@ | |
337 echo ";; no-update-autoloads: t" >> $@ | |
338 echo ";; End:" >> $@ | |
339 echo ";;; mh-loaddefs.el ends here" >> $@ | |
340 | |
341 pre-mh-loaddefs.el-CMD: | |
342 echo ;;; mh-loaddefs.el --- automatically extracted autoloads> $@ | |
343 echo ;;>> $@ | |
344 echo ;; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.>> $@ | |
345 echo ;; Author: Bill Wohler (wohler@newt.com)>> $@ | |
346 echo ;; Keywords: mail>> $@ | |
347 echo ;;; Commentary:>> $@ | |
348 echo ;;; Change Log:>> $@ | |
349 echo ;;; Code:>> $@ | |
350 echo.>> $@ | |
351 echo (provide 'mh-loaddefs)>> $@ | |
352 echo ;; Local Variables:>> $@ | |
353 echo ;; version-control: never>> $@ | |
354 echo ;; no-byte-compile: t>> $@ | |
355 echo ;; no-update-autoloads: t>> $@ | |
356 echo ;; End:>> $@ | |
357 echo ;;; mh-loaddefs.el ends here>> $@ | |
358 | |
359 # Prepare a bootstrap in the lisp subdirectory. | |
360 # | |
361 # Build loaddefs.el to make sure it's up-to-date. If it's not, that | |
362 # might lead to errors during the bootstrap because something fails to | |
363 # autoload as expected. If there is no emacs binary, then we can't | |
364 # build autoloads yet. In that case we have to use ldefs-boot.el; | |
365 # bootstrap should always work with ldefs-boot.el. (Because | |
366 # loaddefs.el is an automatically generated file, we don't want to | |
367 # store it in the source repository). | |
368 # | |
369 # Remove compiled Lisp files so that bootstrap-emacs will be built from | |
370 # sources only. | |
360 | 371 |
361 # Need separate version for sh and native cmd.exe | 372 # Need separate version for sh and native cmd.exe |
362 bootstrap-clean: bootstrap-clean-$(SHELLTYPE) loaddefs.el | 373 bootstrap-clean: bootstrap-clean-$(SHELLTYPE) $(lisp)/loaddefs.el |
363 | 374 |
364 bootstrap-clean-CMD: | 375 bootstrap-clean-CMD: |
365 # if exist $(EMACS) $(MAKE) $(MFLAGS) autoloads | 376 # if exist $(EMACS) $(MAKE) $(MFLAGS) autoloads |
366 -for %f in (. $(WINS)) do for %g in (%f\*.elc) do @$(DEL) %g | 377 cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el |
378 -for %%f in (. $(WINS)) do for %%g in (%%f\*.elc) do @$(DEL) %%g | |
367 | 379 |
368 bootstrap-clean-SH: | 380 bootstrap-clean-SH: |
369 # if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi | 381 # if test -f $(EMACS); then $(MAKE) $(MFLAGS) autoloads; fi |
370 # -rm -f $(lisp)/*.elc $(lisp)/*/*.elc | 382 # -rm -f $(lisp)/*.elc $(lisp)/*/*.elc |
383 cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el | |
371 -for dir in . $(WINS); do rm -f $$dir/*.elc; done | 384 -for dir in . $(WINS); do rm -f $$dir/*.elc; done |
372 | 385 |
373 # Generate/update files for the bootstrap process. | 386 # Generate/update files for the bootstrap process. |
374 | 387 # When done, remove bootstrap-emacs from ../bin, so that |
375 bootstrap: update-subdirs autoloads compile finder-data custom-deps | 388 # it will not be mistaken for an installed binary. |
389 | |
390 bootstrap: update-subdirs autoloads mh-autoloads compile finder-data custom-deps | |
391 - $(DEL) $(EMACS) | |
376 | 392 |
377 # | 393 # |
378 # Assuming INSTALL_DIR is defined, copy the elisp files to it | 394 # Assuming INSTALL_DIR is defined, copy the elisp files to it |
379 # Windows 95 makes this harder than it should be. | 395 # Windows 95 makes this harder than it should be. |
380 # | 396 # |