annotate lisp/makefile.nt @ 30075:39e2dae95929 raeburn-tag-4-for-export

Add support for `bootstrap' and related targets.
author Andrew Innes <andrewi@gnu.org>
date Wed, 05 Jul 2000 17:32:43 +0000
parents e024ab46002c
children 7a25e378e8bc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 # Hacked up Nmake makefile for GNU Emacs
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2 # Geoff Voelker (voelker@cs.washington.edu)
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3 # Copyright (c) 1994 Free Software Foundation, Inc.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 #
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5 # This file is part of GNU Emacs.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 #
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 # GNU Emacs is free software; you can redistribute it and/or modify
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 # it under the terms of the GNU General Public License as published by
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 # the Free Software Foundation; either version 2, or (at your option)
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10 # any later version.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 #
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 # GNU Emacs is distributed in the hope that it will be useful,
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15 # GNU General Public License for more details.
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 #
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 # You should have received a copy of the GNU General Public License
15742
80562f089595 Fix FSF address in comment.
Karl Heuer <kwzh@gnu.org>
parents: 14899
diff changeset
18 # along with GNU Emacs; see the file COPYING. If not, write to the
80562f089595 Fix FSF address in comment.
Karl Heuer <kwzh@gnu.org>
parents: 14899
diff changeset
19 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
80562f089595 Fix FSF address in comment.
Karl Heuer <kwzh@gnu.org>
parents: 14899
diff changeset
20 # Boston, MA 02111-1307, USA.
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21 #
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23 !include ..\nt\makefile.def
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 all:
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
27 #lisp=$(MAKEDIR:\=/)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
28 lisp=.
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
29
27622
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
30 # You can specify a different executable on the make command line,
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
31 # e.g. "make EMACS=../src/emacs ...".
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
32
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
33 EMACS = ..\bin\emacs.exe
27622
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
34
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
35 # Command line flags for Emacs. This must include --multibyte,
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
36 # otherwise some files will not compile.
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
37
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
38 EMACSOPT = -batch --no-init-file --no-site-file --multibyte
27622
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
39
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
40 lisptagsfiles1 = $(lisp)/*.el
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
41 lisptagsfiles2 = $(lisp)/*/*.el
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
42 ETAGS = ..\lib-src\$(BLD)\etags
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
43
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
44 # Files which should not be compiled.
27622
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
45 # - emacs-lisp/cl-specs.el: only contains `def-edebug-spec's so there's
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
46 # no point compiling it, although it doesn't hurt.
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
47
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
48 DONTCOMPILE = \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
49 $(lisp)/bindings.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
50 $(lisp)/cus-load.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
51 $(lisp)/cus-start.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
52 $(lisp)/emacs-lisp/cl-specs.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
53 $(lisp)/eshell/esh-maint.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
54 $(lisp)/eshell/esh-group.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
55 $(lisp)/finder-inf.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
56 $(lisp)/forms-d2.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
57 $(lisp)/forms-pass.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
58 $(lisp)/generic-x.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
59 $(lisp)/international/latin-1.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
60 $(lisp)/international/latin-2.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
61 $(lisp)/international/latin-3.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
62 $(lisp)/international/latin-4.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
63 $(lisp)/international/latin-5.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
64 $(lisp)/international/latin-8.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
65 $(lisp)/international/latin-9.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
66 $(lisp)/international/mule-conf.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
67 $(lisp)/loaddefs.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
68 $(lisp)/loadup.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
69 $(lisp)/mail/blessmail.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
70 $(lisp)/mail/sc.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
71 $(lisp)/patcomp.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
72 $(lisp)/paths.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
73 $(lisp)/play/bruce.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
74 $(lisp)/subdirs.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
75 $(lisp)/term/internal.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
76 $(lisp)/version.el
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
77
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
78 # Files to compile before others during a bootstrap. This is done
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
79 # to speed up the bootstrap process.
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
80
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
81 COMPILE_FIRST = \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
82 $(lisp)/emacs-lisp/byte-opt.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
83 $(lisp)/emacs-lisp/bytecomp.el \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
84 $(lisp)/subr.el
27622
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
85
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
86 # The actual Emacs command run in the targets below.
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
87
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
88 emacs = $(EMACS) $(EMACSOPT)
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
89
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
90 # Common command to find subdirectories
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
91
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
92 # setwins=subdirs=`find $$wd -type d -print`; \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
93 # for file in $$subdirs; do \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
94 # case $$file in */Old | */RCS | */CVS | */CVS/* | */=* ) ;; \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
95 # *) wins="$$wins $$file" ;; \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
96 # esac; \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
97 # done
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
98
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
99 # Have to define the list of subdirs manually
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
100 WINS=\
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
101 calendar \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
102 emacs-lisp \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
103 emulation \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
104 eshell \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
105 gnus \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
106 international \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
107 language \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
108 mail \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
109 net \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
110 play \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
111 progmodes \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
112 term \
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
113 textmodes
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
114
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
115 doit:
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
116
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
117 cus-load.el:
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
118 touch $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
119 custom-deps: cus-load.el doit
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
120 @echo Directories: $(WINS)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
121 $(emacs) -l cus-dep --eval "(setq find-file-hooks nil)" -f custom-make-dependencies $(lisp) $(WINS)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
122
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
123 finder-inf.el:
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
124 echo (provide 'finder-inf)>> $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
125
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
126 finder-data: finder-inf.el doit
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
127 @echo Directories: $(WINS)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
128 $(emacs) -l finder -f finder-compile-keywords-make-dist $(lisp) $(WINS)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
129
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
130 loaddefs.el:
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
131 echo ;;; loaddefs.el --- automatically extracted autoloads> $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
132 echo ;;; Code:>> $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
133 echo >> $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
134 echo ;;; Local Variables:>> $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
135 echo ;;; version-control: never>> $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
136 echo ;;; no-byte-compile: t>> $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
137 echo ;;; no-update-autoloads: t>> $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
138 echo ;;; End:>> $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
139 echo ;;; loaddefs.el ends here>> $@
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
140
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
141 autoloads: loaddefs.el doit
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
142 @echo Directories: $(WINS)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
143 $(emacs) -l autoload --eval "(setq find-file-hooks nil generated-autoload-file \"$(lisp)/loaddefs.el\")" -f batch-update-autoloads $(lisp) $(WINS)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
144
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
145 subdirs.el:
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
146 $(MAKE) $(MFLAGS) -f makefile.nt update-subdirs
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
147 update-subdirs: doit
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
148 @set QWINS=
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
149 @for %d in ($(WINS)) do if not (%d)==(term) set QWINS=%QWINS% "%d"
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
150 echo ;; In load-path, after this directory should come> subdirs.el
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
151 echo ;; certain of its subdirectories. Here we specify them.>> subdirs.el
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
152 echo (normal-top-level-add-to-load-path '(%QWINS%))>> subdirs.el
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
153
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
154 updates: update-subdirs autoloads finder-data custom-deps
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
155
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
156 TAGS: $(lisptagsfiles1) $(lisptagsfiles2)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
157 $(ETAGS) $(lisptagsfiles1) $(lisptagsfiles2)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
158
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
159 TAGS-LISP: $(lispsource)$(lisptagsfiles1) $(lispsource)$(lisptagsfiles2)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
160 $(ETAGS) -o TAGS-LISP $(lispsource)$(lisptagsfiles1) $(lispsource)$(lisptagsfiles2)
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
161
27622
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
162 .el.elc:
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
163 -$(emacs) -f batch-byte-compile $<
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
164
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
165 $(DONTCOMPILE:.el=.elc):
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
166 -$(DEL) $@
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
167
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
168 # Compile all Lisp files, except those from DONTCOMPILE. This
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
169 # compiles files unconditionally. All .elc files are made writable
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
170 # before compilation in case we checked out read-only (CVS option -r).
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
171 # Files MUST be compiled one by one. If we compile several files in a
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
172 # row we can't make sure that the compilation environment is clean.
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
173 # We also set the load-path of the Emacs used for compilation to the
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
174 # current directory and its subdirectories, to make sure require's and
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
175 # load's in the files being compiled find the right files.
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
176
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
177 compile-files: subdirs.el doit
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
178 -for %f in ($(lisp) $(WINS)) do for %g in (%f\*.elc) do @attrib -r %g
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
179 for %f in ($(COMPILE_FIRST)) do $(emacs) -f batch-byte-compile %f
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
180 for %f in ($(lisp) $(WINS)) do for %g in (%f/*.el) do $(emacs) -f batch-byte-compile %f/%g
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
181
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
182 # Backup compiled Lisp files in elc.tar.gz. If that file already
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
183 # exists, make a backup of it.
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
184
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
185 backup-compiled-files:
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
186 -mv $(lisp)/elc.tar.gz $(lisp)/elc.tar.gz~
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
187 -tar czf $(lisp)/elc.tar.gz $(lisp)/*.elc $(lisp)/*/*.elc
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
188
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
189 # Compile Lisp files, but save old compiled files first.
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
190
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
191 compile: backup-compiled-files compile-files
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
192
27622
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
193 # Recompile all Lisp files which are newer than their .elc files.
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
194 # Note that this doesn't create .elc files. It only recompiles if an
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
195 # .elc is present.
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
196
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
197 recompile: doit
27622
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
198 $(emacs) -f batch-byte-recompile-directory .
21596
de7ecc11ba03 (install): Copy elisp files that are not compiled.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
199
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
200 # Prepare a bootstrap in the lisp subdirectory. Build loaddefs.el,
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
201 # because it's not sure it's up-to-date, and if it's not, that might
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
202 # lead to errors during the bootstrap because something fails to
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
203 # autoload as expected. Remove compiled Lisp files so that
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
204 # bootstrap-emacs will be built from sources only.
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
205
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
206 bootstrap-clean:
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
207 if exist $(EMACS) $(MAKE) $(MFLAGS) -f makefile.nt autoloads
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
208 -for %f in ($(lisp) $(WINS)) do for %g in (%f\*.elc) do @$(DEL) %g
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
209
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
210 # Generate/update files for the bootstrap process.
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
211
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
212 bootstrap: autoloads compile-files custom-deps
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
213
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
214 #
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
215 # Assuming INSTALL_DIR is defined, copy the elisp files to it
24320
5df541fa3e2b (INSTALL): Copy the handful of uncompiled lisp files
Geoff Voelker <voelker@cs.washington.edu>
parents: 23833
diff changeset
216 # Windows 95 makes this harder than it should be.
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
217 #
27622
e024ab46002c (install): Synchronize rules for compiling with Unix version.
Andrew Innes <andrewi@gnu.org>
parents: 24320
diff changeset
218 install:
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
219 - mkdir $(INSTALL_DIR)\lisp
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
220 - $(DEL) .\same-dir.tst
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
221 - $(DEL) $(INSTALL_DIR)\lisp\same-dir.tst
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
222 echo SameDirTest > $(INSTALL_DIR)\lisp\same-dir.tst
21596
de7ecc11ba03 (install): Copy elisp files that are not compiled.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
223 !ifdef COPY_LISP_SOURCE
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
224 if not exist .\same-dir.tst $(CP_DIR) . $(INSTALL_DIR)\lisp
21596
de7ecc11ba03 (install): Copy elisp files that are not compiled.
Geoff Voelker <voelker@cs.washington.edu>
parents: 15742
diff changeset
225 !else
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
226 if not exist .\same-dir.tst $(CP_DIR) *.elc $(INSTALL_DIR)\lisp
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
227 if not exist .\same-dir.tst $(CP) cus-load.el $(INSTALL_DIR)\lisp
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
228 if not exist .\same-dir.tst $(CP) forms*.el $(INSTALL_DIR)\lisp
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
229 if not exist .\same-dir.tst $(CP) patcomp.el $(INSTALL_DIR)\lisp
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
230 if not exist .\same-dir.tst $(CP) subdirs.el $(INSTALL_DIR)\lisp
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
231 if not exist .\same-dir.tst $(CP) version.el $(INSTALL_DIR)\lisp
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
232 if not exist .\same-dir.tst $(CP) mail\blessmail.el $(INSTALL_DIR)\lisp\mail
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
233 if not exist .\same-dir.tst $(CP) mail\sc.el $(INSTALL_DIR)\lisp\mail
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
234 if not exist .\same-dir.tst $(CP) play\bruce.el $(INSTALL_DIR)\lisp\play
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
235 if not exist .\same-dir.tst $(CP) international\latin-*.el $(INSTALL_DIR)\lisp\international
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
236 if not exist .\same-dir.tst $(CP) international\mule-conf.el $(INSTALL_DIR)\lisp\international
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
237 - $(DEL) $(INSTALL_DIR)\lisp\same-dir.tst
23833
088714863cc9 (install) [COPY_LISP_SOURCE]: Fix end of conditional.
Geoff Voelker <voelker@cs.washington.edu>
parents: 21655
diff changeset
238 !endif
21655
cfb05eddeb55 (interdontcompile): New macro.
Geoff Voelker <voelker@cs.washington.edu>
parents: 21596
diff changeset
239
9803
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
240 #
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
241 # Maintenance
fa698fd10c05 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
242 #
30075
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
243 clean:
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
244 - $(DEL) *~ term\*~
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
245 - $(DEL) *.orig *.rej *.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
246 - $(DEL) emacs-lisp\*.orig emacs-lisp\*.rej emacs-lisp\*.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
247 - $(DEL) emulation\*.orig emulation\*.rej emulation\*.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
248 - $(DEL) gnus\*.orig gnus\*.rej gnus\*.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
249 - $(DEL) international\*.orig international\*.rej international\*.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
250 - $(DEL) language\*.orig language\*.rej language\*.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
251 - $(DEL) mail\*.orig mail\*.rej mail\*.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
252 - $(DEL) play\*.orig play\*.rej play\*.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
253 - $(DEL) progmodes\*.orig progmodes\*.rej progmodes\*.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
254 - $(DEL) term\*.orig term\*.rej term\*.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
255 - $(DEL) textmodes\*.orig textmodes\*.rej textmodes\*.crlf
39e2dae95929 Add support for `bootstrap' and related targets.
Andrew Innes <andrewi@gnu.org>
parents: 27622
diff changeset
256 - $(DEL_TREE) deleted