aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Innes2001-12-03 11:40:21 +0000
committerAndrew Innes2001-12-03 11:40:21 +0000
commit8af54a640d6519abbb9b11777129d01aaf2ab3cd (patch)
treeb0a0cea28df3036782375f1865fb6cc2fc4725d7
parent76054cc87603ff2f11205562479c8f295e759aea (diff)
downloademacs-8af54a640d6519abbb9b11777129d01aaf2ab3cd.tar.gz
emacs-8af54a640d6519abbb9b11777129d01aaf2ab3cd.zip
(bootstrap-nmake):
(bootstrap-gmake): Extend bootstrap process to first do bootstrap-clean in lisp dir and rebuild the DOC file. (bootstrap): Do a "normal" make after the bootstrap work.
-rw-r--r--nt/makefile.w32-in456
1 files changed, 236 insertions, 220 deletions
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in
index 166314ce686..ab8940c34b2 100644
--- a/nt/makefile.w32-in
+++ b/nt/makefile.w32-in
@@ -1,220 +1,236 @@
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 Free Software Foundation, Inc.
3# 3#
4# Top level makefile for building GNU Emacs on Windows NT 4# Top level makefile for building GNU Emacs on Windows NT
5# 5#
6# This file is part of GNU Emacs. 6# This file is part of GNU Emacs.
7# 7#
8# GNU Emacs is free software; you can redistribute it and/or modify 8# GNU Emacs is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by 9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2, or (at your option) 10# the Free Software Foundation; either version 2, or (at your option)
11# any later version. 11# any later version.
12# 12#
13# GNU Emacs is distributed in the hope that it will be useful, 13# GNU Emacs is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details. 16# GNU General Public License for more details.
17# 17#
18# You should have received a copy of the GNU General Public License 18# You should have received a copy of the GNU General Public License
19# along with GNU Emacs; see the file COPYING. If not, write to 19# along with GNU Emacs; see the file COPYING. If not, write to
20# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21# Boston, MA 02111-1307, USA. 21# Boston, MA 02111-1307, USA.
22 22
23ALL = addpm ddeclient runemacs cmdproxy addsection preprep 23ALL = addpm ddeclient runemacs cmdproxy addsection preprep
24 24
25.PHONY: $(ALL) 25.PHONY: $(ALL)
26 26
27TRES = $(BLD)/emacs.res 27TRES = $(BLD)/emacs.res
28 28
29addpm: $(BLD) $(BLD)/addpm.exe 29addpm: $(BLD) $(BLD)/addpm.exe
30$(BLD)/addpm.exe: $(BLD)/addpm.$(O) 30$(BLD)/addpm.exe: $(BLD)/addpm.$(O)
31 $(LINK) $(LINK_OUT)$@ \ 31 $(LINK) $(LINK_OUT)$@ \
32 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32) 32 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
33 33
34ddeclient: $(BLD) $(BLD)/ddeclient.exe 34ddeclient: $(BLD) $(BLD)/ddeclient.exe
35$(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O) 35$(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)
36 $(LINK) $(LINK_OUT)$@ \ 36 $(LINK) $(LINK_OUT)$@ \
37 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32) 37 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
38 38
39cmdproxy: $(BLD) $(BLD)/cmdproxy.exe 39cmdproxy: $(BLD) $(BLD)/cmdproxy.exe
40$(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O) 40$(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)
41 $(LINK) $(LINK_OUT)$@ \ 41 $(LINK) $(LINK_OUT)$@ \
42 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32) 42 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
43 43
44addsection: $(BLD) $(BLD)/addsection.exe 44addsection: $(BLD) $(BLD)/addsection.exe
45$(BLD)/addsection.exe: $(BLD)/addsection.$(O) 45$(BLD)/addsection.exe: $(BLD)/addsection.$(O)
46 $(LINK) $(LINK_OUT)$@ \ 46 $(LINK) $(LINK_OUT)$@ \
47 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32) 47 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
48 48
49preprep: $(BLD) $(BLD)/preprep.exe 49preprep: $(BLD) $(BLD)/preprep.exe
50$(BLD)/preprep.exe: $(BLD)/preprep.$(O) 50$(BLD)/preprep.exe: $(BLD)/preprep.$(O)
51 $(LINK) $(LINK_OUT)$@ \ 51 $(LINK) $(LINK_OUT)$@ \
52 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) 52 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)
53 53
54# 54#
55# The resource file. NT 3.10 requires the use of cvtres; even though 55# The resource file. NT 3.10 requires the use of cvtres; even though
56# it is not necessary on later versions, it is still ok to use it. 56# it is not necessary on later versions, it is still ok to use it.
57# 57#
58$(TRES): emacs.rc 58$(TRES): emacs.rc
59 $(RC) $(RC_OUT)$(BLD)/emacs.res $(ALL_DEPS) 59 $(RC) $(RC_OUT)$(BLD)/emacs.res $(ALL_DEPS)
60 60
61runemacs: $(BLD) $(BLD)/runemacs.exe 61runemacs: $(BLD) $(BLD)/runemacs.exe
62$(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES) 62$(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)
63 $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \ 63 $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \
64 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32) 64 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
65 65
66which-sh: 66which-sh:
67 @echo Using $(THE_SHELL) as shell. 67 @echo Using $(THE_SHELL) as shell.
68 68
69# 69#
70# Build emacs 70# Build emacs
71# 71#
72all: which-sh $(BLD) $(ALL) all-other-dirs-$(MAKETYPE) 72all: which-sh $(BLD) $(ALL) all-other-dirs-$(MAKETYPE)
73 73
74all-other-dirs-nmake: 74all-other-dirs-nmake:
75 cd ..\lib-src 75 cd ..\lib-src
76 $(MAKE) $(MFLAGS) all 76 $(MAKE) $(MFLAGS) all
77 cd ..\src 77 cd ..\src
78 $(MAKE) $(MFLAGS) all 78 $(MAKE) $(MFLAGS) all
79 cd ..\lisp 79 cd ..\lisp
80 $(MAKE) $(MFLAGS) all 80 $(MAKE) $(MFLAGS) all
81 cd ..\leim 81 cd ..\leim
82 $(MAKE) $(MFLAGS) all 82 $(MAKE) $(MFLAGS) all
83 cd ..\nt 83 cd ..\nt
84 84
85all-other-dirs-gmake: 85all-other-dirs-gmake:
86 $(MAKE) $(MFLAGS) -C ../lib-src all 86 $(MAKE) $(MFLAGS) -C ../lib-src all
87 $(MAKE) $(MFLAGS) -C ../src all 87 $(MAKE) $(MFLAGS) -C ../src all
88 $(MAKE) $(MFLAGS) -C ../lisp all 88 $(MAKE) $(MFLAGS) -C ../lisp all
89 $(MAKE) $(MFLAGS) -C ../leim all 89 $(MAKE) $(MFLAGS) -C ../leim all
90 90
91recompile: recompile-$(MAKETYPE) 91recompile: recompile-$(MAKETYPE)
92 92
93recompile-nmake: 93recompile-nmake:
94 cd ..\lisp 94 cd ..\lisp
95 $(MAKE) $(MFLAGS) recompile 95 $(MAKE) $(MFLAGS) recompile
96 cd ..\nt 96 cd ..\nt
97 97
98recompile-gmake: 98recompile-gmake:
99 $(MAKE) $(MFLAGS) -C ../lisp recompile 99 $(MAKE) $(MFLAGS) -C ../lisp recompile
100 100
101bootstrap: $(BLD) $(ALL) bootstrap-$(MAKETYPE) 101#### Bootstrapping.
102 102
103bootstrap-nmake: 103### This is meant for Emacs maintainers only. It first cleans the
104 cd ..\src 104### lisp subdirectory, removing all compiled Lisp files. Then a
105 $(MAKE) $(MFLAGS) bootstrap 105### special emacs executable is built from Lisp sources, which is then
106 $(MAKE) $(MFLAGS) bootstrap-clean 106### used to compile Lisp files. The last step is a "normal" make.
107 cd ..\lisp 107
108 $(MAKE) $(MFLAGS) bootstrap 108bootstrap: bootstrap-$(MAKETYPE) all
109 cd ..\nt 109
110 110bootstrap-nmake:
111bootstrap-gmake: 111 cd ..\lisp
112 $(MAKE) $(MFLAGS) -C ../src bootstrap 112 $(MAKE) $(MFLAGS) bootstrap-clean
113 $(MAKE) $(MFLAGS) -C ../src bootstrap-clean 113 cd ..\src
114 $(MAKE) $(MFLAGS) -C ../lisp bootstrap 114 $(MAKE) $(MFLAGS) clean
115 115 cd ..\lib-src
116bootstrap-clean: bootstrap-clean-$(MAKETYPE) 116 $(MAKE) $(MFLAGS) clean DOC
117 117 cd ..\src
118bootstrap-clean-nmake: 118 $(MAKE) $(MFLAGS) bootstrap
119 cd ..\src 119 $(MAKE) $(MFLAGS) bootstrap-clean
120 $(MAKE) $(MFLAGS) bootstrap-clean 120 cd ..\lisp
121 cd ..\lisp 121 $(MAKE) $(MFLAGS) bootstrap
122 $(MAKE) $(MFLAGS) bootstrap-clean 122 cd ..\nt
123 123
124bootstrap-clean-gmake: 124bootstrap-gmake:
125 $(MAKE) $(MFLAGS) -C ../src bootstrap-clean 125 $(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean
126 $(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean 126 $(MAKE) $(MFLAGS) -C ../src clean
127 127 $(MAKE) $(MFLAGS) -C ../lib-src clean DOC
128$(INSTALL_DIR): 128 $(MAKE) $(MFLAGS) -C ../src bootstrap
129 - mkdir "$(INSTALL_DIR)" 129 $(MAKE) $(MFLAGS) -C ../src bootstrap-clean
130 130 $(MAKE) $(MFLAGS) -C ../lisp bootstrap
131$(INSTALL_DIR)/bin: $(INSTALL_DIR) 131
132 - mkdir "$(INSTALL_DIR)/bin" 132bootstrap-clean: bootstrap-clean-$(MAKETYPE)
133 133
134# 134bootstrap-clean-nmake:
135# Build and install emacs in INSTALL_DIR 135 cd ..\src
136# 136 $(MAKE) $(MFLAGS) bootstrap-clean
137install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE) 137 cd ..\lisp
138 - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin 138 $(MAKE) $(MFLAGS) bootstrap-clean
139 - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin 139
140 - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin 140bootstrap-clean-gmake:
141 - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin 141 $(MAKE) $(MFLAGS) -C ../src bootstrap-clean
142 - $(CP) ../lib-src/fns-*.el $(INSTALL_DIR)/bin 142 $(MAKE) $(MFLAGS) -C ../lisp bootstrap-clean
143 - "$(INSTALL_DIR)/bin/addpm" /q 143
144 - $(DEL) ../same-dir.tst 144$(INSTALL_DIR):
145 - $(DEL) $(INSTALL_DIR)/same-dir.tst 145 - mkdir "$(INSTALL_DIR)"
146 echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst" 146
147 - mkdir "$(INSTALL_DIR)/etc" 147$(INSTALL_DIR)/bin: $(INSTALL_DIR)
148 - mkdir "$(INSTALL_DIR)/info" 148 - mkdir "$(INSTALL_DIR)/bin"
149 - mkdir "$(INSTALL_DIR)/lock" 149
150 - mkdir "$(INSTALL_DIR)/data" 150#
151 - mkdir "$(INSTALL_DIR)/site-lisp" 151# Build and install emacs in INSTALL_DIR
152 - mkdir "$(INSTALL_DIR)/etc/icons" 152#
153 $(IFNOTSAMEDIR) $(CP) ../site-lisp/subdirs.el $(INSTALL_DIR)/site-lisp $(ENDIF) 153install: all $(INSTALL_DIR)/bin install-other-dirs-$(MAKETYPE)
154 $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF) 154 - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
155 - $(CP_DIR) icons $(INSTALL_DIR)/etc 155 - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
156 $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF) 156 - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
157 - $(DEL) ../same-dir.tst 157 - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
158 - $(DEL) $(INSTALL_DIR)/same-dir.tst 158 - $(CP) ../lib-src/fns-*.el $(INSTALL_DIR)/bin
159 159 - "$(INSTALL_DIR)/bin/addpm" /q
160install-other-dirs-nmake: 160 - $(DEL) ../same-dir.tst
161 cd ..\lib-src 161 - $(DEL) $(INSTALL_DIR)/same-dir.tst
162 $(MAKE) $(MFLAGS) install 162 echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
163 cd ..\src 163 - mkdir "$(INSTALL_DIR)/etc"
164 $(MAKE) $(MFLAGS) install 164 - mkdir "$(INSTALL_DIR)/info"
165 cd ..\lisp 165 - mkdir "$(INSTALL_DIR)/lock"
166 $(MAKE) $(MFLAGS) install 166 - mkdir "$(INSTALL_DIR)/data"
167 cd ..\leim 167 - mkdir "$(INSTALL_DIR)/site-lisp"
168 $(MAKE) $(MFLAGS) install 168 - mkdir "$(INSTALL_DIR)/etc/icons"
169 cd ..\nt 169 $(IFNOTSAMEDIR) $(CP) ../site-lisp/subdirs.el $(INSTALL_DIR)/site-lisp $(ENDIF)
170 170 $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR) $(ENDIF)
171install-other-dirs-gmake: 171 - $(CP_DIR) icons $(INSTALL_DIR)/etc
172 $(MAKE) $(MFLAGS) -C ../lib-src install 172 $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR) $(ENDIF)
173 $(MAKE) $(MFLAGS) -C ../src install 173 - $(DEL) ../same-dir.tst
174 $(MAKE) $(MFLAGS) -C ../lisp install 174 - $(DEL) $(INSTALL_DIR)/same-dir.tst
175 $(MAKE) $(MFLAGS) -C ../leim install 175
176 176install-other-dirs-nmake:
177# 177 cd ..\lib-src
178# Maintenance 178 $(MAKE) $(MFLAGS) install
179# 179 cd ..\src
180clean: clean-other-dirs-$(MAKETYPE) 180 $(MAKE) $(MFLAGS) install
181 - $(DEL) *~ $(COMPILER_TEMP_FILES) 181 cd ..\lisp
182 - $(DEL_TREE) $(OBJDIR) 182 $(MAKE) $(MFLAGS) install
183 - $(DEL) ../etc/DOC ../etc/DOC-X 183 cd ..\leim
184 184 $(MAKE) $(MFLAGS) install
185clean-other-dirs-nmake: 185 cd ..\nt
186 cd ..\lib-src 186
187 $(MAKE) $(MFLAGS) clean 187install-other-dirs-gmake:
188 cd ..\src 188 $(MAKE) $(MFLAGS) -C ../lib-src install
189 $(MAKE) $(MFLAGS) clean 189 $(MAKE) $(MFLAGS) -C ../src install
190 cd ..\lisp 190 $(MAKE) $(MFLAGS) -C ../lisp install
191 $(MAKE) $(MFLAGS) clean 191 $(MAKE) $(MFLAGS) -C ../leim install
192 cd ..\leim 192
193 $(MAKE) $(MFLAGS) clean 193#
194 cd ..\nt 194# Maintenance
195 195#
196clean-other-dirs-gmake: 196clean: clean-other-dirs-$(MAKETYPE)
197 $(MAKE) $(MFLAGS) -C ../lib-src clean 197 - $(DEL) *~ $(COMPILER_TEMP_FILES)
198 $(MAKE) $(MFLAGS) -C ../src clean 198 - $(DEL_TREE) $(OBJDIR)
199 $(MAKE) $(MFLAGS) -C ../lisp clean 199 - $(DEL) ../etc/DOC ../etc/DOC-X
200 $(MAKE) $(MFLAGS) -C ../leim clean 200
201 201clean-other-dirs-nmake:
202cleanall-other-dirs-nmake: 202 cd ..\lib-src
203 cd ..\lib-src 203 $(MAKE) $(MFLAGS) clean
204 $(MAKE) $(MFLAGS) cleanall 204 cd ..\src
205 cd ..\src 205 $(MAKE) $(MFLAGS) clean
206 $(MAKE) $(MFLAGS) cleanall 206 cd ..\lisp
207 cd ..\nt 207 $(MAKE) $(MFLAGS) clean
208 208 cd ..\leim
209cleanall-other-dirs-gmake: 209 $(MAKE) $(MFLAGS) clean
210 $(MAKE) $(MFLAGS) -C ../lib-src cleanall 210 cd ..\nt
211 $(MAKE) $(MFLAGS) -C ../src cleanall 211
212 212clean-other-dirs-gmake:
213cleanall: clean cleanall-other-dirs-$(MAKETYPE) 213 $(MAKE) $(MFLAGS) -C ../lib-src clean
214 - $(DEL_TREE) obj 214 $(MAKE) $(MFLAGS) -C ../src clean
215 - $(DEL_TREE) obj-spd 215 $(MAKE) $(MFLAGS) -C ../lisp clean
216 - $(DEL_TREE) oo 216 $(MAKE) $(MFLAGS) -C ../leim clean
217 - $(DEL_TREE) oo-spd 217
218 218cleanall-other-dirs-nmake:
219realclean: cleanall 219 cd ..\lib-src
220 - $(DEL_TREE) ../bin 220 $(MAKE) $(MFLAGS) cleanall
221 cd ..\src
222 $(MAKE) $(MFLAGS) cleanall
223 cd ..\nt
224
225cleanall-other-dirs-gmake:
226 $(MAKE) $(MFLAGS) -C ../lib-src cleanall
227 $(MAKE) $(MFLAGS) -C ../src cleanall
228
229cleanall: clean cleanall-other-dirs-$(MAKETYPE)
230 - $(DEL_TREE) obj
231 - $(DEL_TREE) obj-spd
232 - $(DEL_TREE) oo
233 - $(DEL_TREE) oo-spd
234
235realclean: cleanall
236 - $(DEL_TREE) ../bin