Commit | Line | Data |
---|---|---|
b46a6a83 | 1 | # -*- Makefile -*- for GNU Emacs on the Microsoft Windows API. |
ab422c4d | 2 | # Copyright (C) 2000-2013 Free Software Foundation, Inc. |
294981c7 GM |
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 3 of the License, or | |
9 | # (at your option) 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. If not, see <http://www.gnu.org/licenses/>. | |
18 | ||
7bbaaedd | 19 | |
e4ecc6a2 EZ |
20 | ALL = $(BLD)/test-distrib.exe $(BLD)/make-docfile.exe $(BLD)/hexl.exe\ |
21 | $(BLD)/ctags.exe $(BLD)/etags.exe $(BLD)/movemail.exe $(BLD)/ebrowse.exe\ | |
31542918 | 22 | $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe $(BLD)/profile.exe |
7bbaaedd | 23 | |
d67a9a85 | 24 | .PHONY: make-docfile |
7bbaaedd | 25 | |
3fbc4b54 | 26 | LOCAL_FLAGS = -DNO_LDAV=1 -DNO_ARCHIVES=1 -I../lib \ |
8c9afb46 | 27 | -I../nt/inc -I../src $(EMACS_EXTRA_C_FLAGS) |
7bbaaedd | 28 | |
ad456bcb | 29 | LIBS = $(BASE_LIBS) $(ADVAPI32) |
7bbaaedd | 30 | |
d67a9a85 EZ |
31 | # The following target is used by makefile.w32-in files in other directories. |
32 | make-docfile: $(BLD)/make-docfile.exe | |
33 | ||
7bbaaedd AI |
34 | $(BLD)/make-docfile.exe: $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O) |
35 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O) $(LIBS) | |
36 | $(BLD)/hexl.exe: $(BLD)/hexl.$(O) | |
37 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/hexl.$(O) $(LIBS) | |
9781fb53 EZ |
38 | $(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O) |
39 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS) | |
65e46515 | 40 | "$(BLD)/test-distrib.exe" "$(LIB_SRC)/testfile" |
7bbaaedd | 41 | |
7bbaaedd AI |
42 | MOVEMAILOBJS = $(BLD)/movemail.$(O) \ |
43 | $(BLD)/pop.$(O) \ | |
f915f0f7 EZ |
44 | ../lib/$(BLD)/libgnu.$(A) \ |
45 | $(BLD)/ntlib.$(O) | |
7bbaaedd | 46 | |
f915f0f7 | 47 | $(BLD)/movemail.exe: $(MOVEMAILOBJS) ../lib/getopt.h |
7bbaaedd AI |
48 | # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib |
49 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(MOVEMAILOBJS) $(WSOCK32) $(LIBS) | |
50 | ||
70b0d280 | 51 | ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR |
d20f2a6a | 52 | ECLIENTOBJS = $(BLD)/emacsclient.$(O) \ |
f915f0f7 EZ |
53 | $(BLD)/ntlib.$(O) \ |
54 | ../lib/$(BLD)/libgnu.$(A) | |
4429f88c | 55 | CLIENTRES = ../nt/$(BLD)/emacsclient.res |
4d91c8f9 | 56 | |
4429f88c JR |
57 | $(CLIENTRES): ../nt/emacsclient.rc |
58 | @echo Emacsclient resource file must be built from nt directory | |
59 | @exit -1 | |
d20f2a6a JB |
60 | |
61 | $(BLD)/emacsclient.exe: $(ECLIENTOBJS) | |
62 | # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib | |
2e2d2377 | 63 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS) |
d20f2a6a | 64 | |
4429f88c | 65 | $(BLD)/emacsclientw.exe: $(ECLIENTOBJS) $(CLIENTRES) |
ba2d3968 | 66 | # put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib |
06523364 | 67 | $(LINK) $(LINK_OUT)$@ $(CLIENTRES) $(MWINDOWS) $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS) |
ba2d3968 | 68 | |
70b0d280 | 69 | $(BLD)/emacsclient.$(O): emacsclient.c |
8357b759 | 70 | $(CC) $(CFLAGS) $(ECLIENT_CFLAGS) $(CC_OUT)$@ emacsclient.c |
d20f2a6a | 71 | |
7bbaaedd | 72 | ETAGSOBJ = $(BLD)/etags.$(O) \ |
f915f0f7 | 73 | ../lib/$(BLD)/libgnu.$(A) \ |
7bbaaedd AI |
74 | $(BLD)/ntlib.$(O) \ |
75 | $(BLD)/regex.$(O) | |
76 | ||
77 | $(BLD)/etags.exe: $(ETAGSOBJ) | |
78 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ETAGSOBJ) $(LIBS) | |
79 | ||
80 | ||
d19249e7 | 81 | EBROWSEOBJ = $(BLD)/ebrowse.$(O) \ |
f915f0f7 | 82 | ../lib/$(BLD)/libgnu.$(A) \ |
ba2d3968 | 83 | $(BLD)/ntlib.$(O) |
d19249e7 JR |
84 | |
85 | $(BLD)/ebrowse.exe: $(EBROWSEOBJ) | |
88257bc8 | 86 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(EBROWSEOBJ) $(LIBS) |
d19249e7 | 87 | |
7bbaaedd AI |
88 | $(BLD)/regex.$(O): ../src/regex.c ../src/regex.h ../src/config.h |
89 | $(CC) $(CFLAGS) -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \ | |
90 | ../src/regex.c $(CC_OUT)$@ | |
91 | ||
d9f1f55e | 92 | ETAGS_CFLAGS = -DHAVE_GETCWD -DEMACS_NAME="\"GNU Emacs\"" |
7bbaaedd AI |
93 | $(BLD)/etags.$(O): etags.c |
94 | $(CC) $(CFLAGS) $(ETAGS_CFLAGS) $(CC_OUT)$@ etags.c | |
95 | ||
96 | CTAGSOBJ = $(BLD)/ctags.$(O) \ | |
f915f0f7 | 97 | ../lib/$(BLD)/libgnu.$(A) \ |
7bbaaedd AI |
98 | $(BLD)/ntlib.$(O) \ |
99 | $(BLD)/regex.$(O) | |
100 | ||
101 | $(BLD)/ctags.exe: $(CTAGSOBJ) | |
102 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(CTAGSOBJ) $(LIBS) | |
103 | ||
104 | ctags.c: etags.c | |
105 | - $(DEL) ctags.c | |
106 | $(CP) etags.c ctags.c | |
107 | ||
b95b7254 | 108 | CTAGS_CFLAGS = -DCTAGS $(ETAGS_CFLAGS) |
7bbaaedd AI |
109 | $(BLD)/ctags.$(O): ctags.c |
110 | $(CC) $(CFLAGS) $(CTAGS_CFLAGS) $(CC_OUT)$@ ctags.c | |
111 | ||
31542918 JB |
112 | PROFILEOBJS = $(BLD)/profile.$(O) \ |
113 | ../lib/$(BLD)/libgnu.$(A) \ | |
114 | $(BLD)/ntlib.$(O) | |
115 | $(BLD)/profile.exe: $(PROFILEOBJS) | |
116 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(PROFILEOBJS) $(LIBS) | |
117 | ||
7bbaaedd | 118 | # |
3cf5c994 JD |
119 | # From ..\src\Makefile.in |
120 | # It doesn't matter if the real name is *.obj for the files in this list, | |
121 | # make-docfile blindly replaces .o with .c anyway. Keep .o in this list | |
122 | # as it is required by code in doc.c. | |
7bbaaedd | 123 | # |
f23d76bd | 124 | obj = dosfns.o msdos.o \ |
eccfc782 | 125 | xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ |
994a7c3b | 126 | fontset.o menu.o \ |
c54ebba4 | 127 | w32.o w32console.o w32fns.o w32heap.o w32inevt.o cygw32.o \ |
3cf5c994 | 128 | w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \ |
994a7c3b EZ |
129 | font.o w32font.o w32uniscribe.o \ |
130 | dispnew.o frame.o scroll.o xdisp.o window.o bidi.o \ | |
eccfc782 JR |
131 | charset.o coding.o category.o ccl.o character.o chartab.o \ |
132 | cm.o term.o terminal.o xfaces.o \ | |
3cf5c994 JD |
133 | emacs.o keyboard.o macros.o keymap.o sysdep.o \ |
134 | buffer.o filelock.o insdel.o marker.o \ | |
602a5739 | 135 | minibuf.o fileio.o dired.o \ |
3cf5c994 JD |
136 | cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \ |
137 | alloc.o data.o doc.o editfns.o callint.o \ | |
138 | eval.o floatfns.o fns.o print.o lread.o \ | |
a2666217 | 139 | syntax.o bytecode.o \ |
994a7c3b | 140 | process.o callproc.o unexw32.o \ |
3cf5c994 | 141 | region-cache.o sound.o atimer.o \ |
418401a5 | 142 | doprnt.o intervals.o textprop.o composite.o \ |
6a586b7f | 143 | gnutls.o xml.o profiler.o |
3cf5c994 | 144 | |
7bbaaedd AI |
145 | # |
146 | # These are the lisp files that are loaded up in loadup.el | |
147 | # | |
148 | lispsource = ../lisp/ | |
149 | ||
a40c6a08 JR |
150 | MOUSE_SUPPORT = \ |
151 | $(lispsource)select.elc \ | |
152 | $(lispsource)scroll-bar.elc \ | |
79d48c1a | 153 | $(lispsource)mouse.elc |
a40c6a08 JR |
154 | WINNT_SUPPORT = \ |
155 | $(lispsource)ls-lisp.elc \ | |
156 | $(lispsource)disp-table.elc \ | |
157 | $(lispsource)w32-fns.elc \ | |
158 | $(lispsource)dos-w32.elc \ | |
159 | $(lispsource)w32-vars.elc \ | |
f2d6b714 | 160 | $(lispsource)term/common-win.elc \ |
a40c6a08 | 161 | $(lispsource)term/w32-win.elc |
a40c6a08 JR |
162 | TOOLTIP_SUPPORT = $(lispsource)tooltip.elc |
163 | WINDOW_SUPPORT = \ | |
164 | $(lispsource)fringe.elc \ | |
165 | $(lispsource)image.elc \ | |
166 | $(lispsource)international/fontset.elc \ | |
167 | $(lispsource)dnd.elc \ | |
168 | $(lispsource)tool-bar.elc \ | |
169 | $(lispsource)mwheel.elc | |
7bbaaedd | 170 | |
79d48c1a JR |
171 | # lisp files that are loaded up on other platforms |
172 | OTHER_PLATFORM_SUPPORT = \ | |
173 | $(lispsource)dos-fns.elc \ | |
174 | $(lispsource)dos-vars.elc \ | |
03dcfe01 CY |
175 | $(lispsource)term/internal.elc \ |
176 | $(lispsource)term/pc-win.elc \ | |
79d48c1a | 177 | $(lispsource)x-dnd.elc \ |
614bd9cf | 178 | $(lispsource)term/x-win.elc \ |
42d3cab7 | 179 | $(lispsource)term/ns-win.elc |
79d48c1a JR |
180 | |
181 | ||
83a9c0b2 | 182 | lisp1= \ |
7f379e5b JR |
183 | $(lispsource)abbrev.elc \ |
184 | $(lispsource)buff-menu.elc \ | |
e63e8d3e | 185 | $(lispsource)button.elc \ |
8dc48ef0 | 186 | $(lispsource)emacs-lisp/byte-run.elc \ |
0c55bf82 | 187 | $(lispsource)composite.elc \ |
98d926f2 | 188 | $(lispsource)cus-face.elc \ |
7f379e5b JR |
189 | $(lispsource)cus-start.elc \ |
190 | $(lispsource)custom.elc \ | |
dd87b4cc | 191 | $(lispsource)emacs-lisp/backquote.elc \ |
7f379e5b JR |
192 | $(lispsource)emacs-lisp/lisp-mode.elc \ |
193 | $(lispsource)emacs-lisp/lisp.elc \ | |
a40c6a08 | 194 | $(lispsource)env.elc \ |
98d926f2 EZ |
195 | $(lispsource)faces.elc \ |
196 | $(lispsource)files.elc \ | |
98d926f2 | 197 | $(lispsource)format.elc \ |
a40c6a08 JR |
198 | $(lispsource)facemenu.elc \ |
199 | $(MOUSE_SUPPORT) \ | |
200 | $(lispsource)emacs-lisp/float-sup.elc \ | |
8dc48ef0 | 201 | $(lispsource)frame.elc \ |
7f379e5b JR |
202 | $(lispsource)help.elc \ |
203 | $(lispsource)indent.elc \ | |
204 | $(lispsource)isearch.elc \ | |
98d926f2 | 205 | $(lispsource)rfn-eshadow.elc \ |
7bbaaedd AI |
206 | $(lispsource)loadup.el \ |
207 | $(lispsource)loaddefs.el \ | |
7f379e5b | 208 | $(lispsource)bindings.elc \ |
8dc48ef0 | 209 | $(lispsource)emacs-lisp/map-ynp.elc \ |
a40c6a08 | 210 | $(lispsource)menu-bar.elc \ |
7f379e5b | 211 | $(lispsource)international/mule.elc \ |
2068905b | 212 | $(lispsource)international/mule-conf.elc \ |
7f379e5b JR |
213 | $(lispsource)international/mule-cmds.elc \ |
214 | $(lispsource)international/characters.elc \ | |
a40c6a08 | 215 | $(lispsource)international/charprop.el \ |
83a9c0b2 JR |
216 | $(lispsource)case-table.elc |
217 | ||
218 | lisp2 = \ | |
2068905b EZ |
219 | $(lispsource)language/chinese.elc \ |
220 | $(lispsource)language/cyrillic.elc \ | |
221 | $(lispsource)language/indian.elc \ | |
222 | $(lispsource)language/sinhala.elc \ | |
223 | $(lispsource)language/english.elc \ | |
7f379e5b JR |
224 | $(lispsource)language/ethiopic.elc \ |
225 | $(lispsource)language/european.elc \ | |
2068905b EZ |
226 | $(lispsource)language/czech.elc \ |
227 | $(lispsource)language/slovak.elc \ | |
228 | $(lispsource)language/romanian.elc \ | |
229 | $(lispsource)language/greek.elc \ | |
f09e4c6b | 230 | $(lispsource)language/hebrew.elc \ |
2068905b | 231 | $(lispsource)language/japanese.elc \ |
4c77e620 EZ |
232 | $(lispsource)international/cp51932.el \ |
233 | $(lispsource)international/eucjp-ms.el \ | |
2068905b EZ |
234 | $(lispsource)language/korean.elc \ |
235 | $(lispsource)language/lao.elc \ | |
236 | $(lispsource)language/cham.elc \ | |
237 | $(lispsource)language/tai-viet.elc \ | |
238 | $(lispsource)language/thai.elc \ | |
7f379e5b | 239 | $(lispsource)language/tibetan.elc \ |
2068905b EZ |
240 | $(lispsource)language/vietnamese.elc \ |
241 | $(lispsource)language/misc-lang.elc \ | |
242 | $(lispsource)language/utf-8-lang.elc \ | |
243 | $(lispsource)language/georgian.elc \ | |
244 | $(lispsource)language/khmer.elc \ | |
245 | $(lispsource)language/burmese.elc \ | |
7f379e5b JR |
246 | $(lispsource)register.elc \ |
247 | $(lispsource)replace.elc \ | |
248 | $(lispsource)simple.elc \ | |
01b996ad | 249 | $(lispsource)minibuffer.elc \ |
7f379e5b JR |
250 | $(lispsource)startup.elc \ |
251 | $(lispsource)subr.elc \ | |
252 | $(lispsource)term/tty-colors.elc \ | |
7a8940da | 253 | $(lispsource)font-core.elc \ |
98d926f2 EZ |
254 | $(lispsource)emacs-lisp/syntax.elc \ |
255 | $(lispsource)font-lock.elc \ | |
256 | $(lispsource)jit-lock.elc \ | |
7f379e5b JR |
257 | $(lispsource)textmodes/fill.elc \ |
258 | $(lispsource)textmodes/page.elc \ | |
259 | $(lispsource)textmodes/paragraphs.elc \ | |
260 | $(lispsource)textmodes/text-mode.elc \ | |
98d926f2 | 261 | $(lispsource)emacs-lisp/timer.elc \ |
98d926f2 | 262 | $(lispsource)jka-cmpr-hook.elc \ |
5fee75d4 JB |
263 | $(lispsource)vc/vc-hooks.elc \ |
264 | $(lispsource)vc/ediff-hook.elc \ | |
86914123 | 265 | $(lispsource)epa-hook.elc \ |
a40c6a08 | 266 | $(TOOLTIP_SUPPORT) \ |
7bbaaedd | 267 | $(WINNT_SUPPORT) \ |
a40c6a08 | 268 | $(WINDOW_SUPPORT) \ |
7f379e5b JR |
269 | $(lispsource)widget.elc \ |
270 | $(lispsource)window.elc \ | |
2068905b | 271 | $(lispsource)version.elc |
7bbaaedd | 272 | |
3b57ab8f EZ |
273 | # This is needed the first time we build the tree, since temacs.exe |
274 | # does not exist yet, and the DOC rule needs it to rebuild DOC whenever | |
275 | # Emacs is rebuilt. | |
276 | ../src/$(BLD)/temacs.exe: | |
277 | - mkdir "../src/$(OBJDIR)" | |
278 | - mkdir "../src/$(BLD)" | |
279 | @echo temacs > temacs.exe | |
280 | $(CP) temacs.exe ../src/$(BLD) | |
281 | - $(DEL) temacs.exe | |
7bbaaedd | 282 | |
52402e4f | 283 | DOC = DOC |
79d48c1a | 284 | $(DOC): stamp_BLD $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2) $(OTHER_PLATFORM_SUPPORT) |
7bbaaedd | 285 | - $(DEL) $(DOC) |
cf6d30d7 | 286 | "$(THISDIR)/$(BLD)/make-docfile" -o $(DOC) -d ../src $(obj) |
83a9c0b2 JR |
287 | "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp1) |
288 | "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp2) | |
79d48c1a | 289 | "$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(OTHER_PLATFORM_SUPPORT) |
7bbaaedd AI |
290 | $(CP) $(DOC) ../etc/DOC-X |
291 | - mkdir "../src/$(OBJDIR)" | |
292 | - mkdir "../src/$(OBJDIR)/etc" | |
293 | $(CP) $(DOC) ../src/$(OBJDIR)/etc/DOC-X | |
294 | ||
295 | {$(BLD)}.$(O){$(BLD)}.exe: | |
296 | $(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $*.$(O) $(LIBS) | |
297 | ||
298 | # | |
299 | # Build the executables | |
300 | # | |
d67a9a85 | 301 | all: $(ALL) $(DOC) |
7bbaaedd AI |
302 | |
303 | # | |
304 | # Assuming INSTALL_DIR is defined, build and install emacs in it. | |
305 | # | |
306 | INSTALL_FILES = $(ALL) | |
307 | install: $(INSTALL_FILES) | |
308 | - mkdir "$(INSTALL_DIR)/bin" | |
309 | $(CP) $(BLD)/etags.exe $(INSTALL_DIR)/bin | |
88257bc8 | 310 | $(CP) $(BLD)/ebrowse.exe $(INSTALL_DIR)/bin |
7bbaaedd AI |
311 | $(CP) $(BLD)/ctags.exe $(INSTALL_DIR)/bin |
312 | $(CP) $(BLD)/hexl.exe $(INSTALL_DIR)/bin | |
313 | $(CP) $(BLD)/movemail.exe $(INSTALL_DIR)/bin | |
d20f2a6a | 314 | $(CP) $(BLD)/emacsclient.exe $(INSTALL_DIR)/bin |
ba2d3968 | 315 | $(CP) $(BLD)/emacsclientw.exe $(INSTALL_DIR)/bin |
31542918 | 316 | $(CP) $(BLD)/profile.exe $(INSTALL_DIR)/bin |
7bbaaedd AI |
317 | - mkdir "$(INSTALL_DIR)/etc" |
318 | $(CP) $(DOC) $(INSTALL_DIR)/etc | |
319 | ||
320 | # | |
321 | # Maintenance | |
52402e4f | 322 | # |
9724908a EZ |
323 | # We used to delete *~ here, but that might inadvertently remove |
324 | # precious files if it happens to match their short 8+3 aliases. | |
7bbaaedd | 325 | clean: |
9724908a | 326 | - $(DEL) DOC* $(COMPILER_TEMP_FILES) |
7bbaaedd AI |
327 | - $(DEL) ctags.c |
328 | - $(DEL_TREE) $(OBJDIR) | |
e313b518 | 329 | - $(DEL) stamp_BLD |
7bbaaedd | 330 | |
6948400c JR |
331 | distclean: cleanall |
332 | - $(DEL) TAGS | |
333 | - $(DEL) Makefile | |
334 | ||
335 | maintainer-clean: distclean | |
336 | ||
7bbaaedd AI |
337 | cleanall: clean |
338 | - $(DEL_TREE) obj | |
339 | - $(DEL_TREE) obj-spd | |
340 | - $(DEL_TREE) oo | |
341 | - $(DEL_TREE) oo-spd | |
342 | ||
343 | # | |
344 | # Headers we would preprocess if we could. | |
345 | # | |
346 | ../src/config.h: ../nt/$(CONFIG_H) | |
a69edb8a | 347 | $(DEL) $@ |
70846e2a | 348 | echo $(CONFIG_H) has changed. Re-run configure.bat. |
df1b2142 JR |
349 | exit -1 |
350 | ||
73077a9a EZ |
351 | ### TAGS ### |
352 | ||
73077a9a EZ |
353 | TAGS: $(BLD)/etags.exe *.c *.h |
354 | $(BLD)/etags.exe *.c *.h | |
355 | ||
7bbaaedd AI |
356 | ### DEPENDENCIES ### |
357 | ||
358 | EMACS_ROOT = .. | |
65e46515 JB |
359 | LIB_SRC = . |
360 | SRC = $(EMACS_ROOT)/src | |
361 | NT_INC = $(EMACS_ROOT)/nt/inc | |
362 | GNU_LIB = $(EMACS_ROOT)/lib | |
363 | ||
837b365b | 364 | MS_W32_H = $(NT_INC)/ms-w32.h \ |
65e46515 | 365 | $(NT_INC)/sys/stat.h |
552a99b4 | 366 | CONF_POST_H = $(SRC)/conf_post.h \ |
65e46515 | 367 | $(MS_W32_H) |
552a99b4 JB |
368 | CONFIG_H = $(SRC)/config.h \ |
369 | $(CONF_POST_H) | |
65e46515 JB |
370 | INTTYPES_H = $(NT_INC)/inttypes.h \ |
371 | $(NT_INC)/stdint.h | |
372 | NTLIB_H = $(LIB_SRC)/ntlib.h \ | |
373 | $(NT_INC)/pwd.h | |
374 | SYSTIME_H = $(SRC)/systime.h \ | |
375 | $(NT_INC)/sys/time.h \ | |
376 | $(GNU_LIB)/timespec.h | |
7bbaaedd | 377 | |
7bbaaedd | 378 | $(BLD)/ctags.$(O) : \ |
65e46515 JB |
379 | $(LIB_SRC)/ctags.c \ |
380 | $(SRC)/regex.h \ | |
381 | $(NT_INC)/sys/stat.h \ | |
382 | $(NT_INC)/unistd.h \ | |
383 | $(GNU_LIB)/c-strcase.h \ | |
384 | $(GNU_LIB)/getopt.h \ | |
385 | $(CONFIG_H) | |
7bbaaedd | 386 | |
b97decf2 | 387 | $(BLD)/ebrowse.$(O) : \ |
65e46515 JB |
388 | $(LIB_SRC)/ebrowse.c \ |
389 | $(GNU_LIB)/getopt.h \ | |
390 | $(GNU_LIB)/min-max.h \ | |
391 | $(CONFIG_H) | |
b97decf2 | 392 | |
7bbaaedd | 393 | $(BLD)/emacsclient.$(O) : \ |
65e46515 JB |
394 | $(LIB_SRC)/emacsclient.c \ |
395 | $(NT_INC)/pwd.h \ | |
396 | $(NT_INC)/sys/stat.h \ | |
397 | $(NT_INC)/unistd.h \ | |
398 | $(GNU_LIB)/getopt.h \ | |
399 | $(CONFIG_H) | |
7bbaaedd | 400 | |
7bbaaedd | 401 | $(BLD)/etags.$(O) : \ |
65e46515 JB |
402 | $(LIB_SRC)/etags.c \ |
403 | $(SRC)/regex.h \ | |
404 | $(NT_INC)/sys/stat.h \ | |
405 | $(NT_INC)/unistd.h \ | |
406 | $(GNU_LIB)/c-strcase.h \ | |
407 | $(GNU_LIB)/getopt.h \ | |
408 | $(CONFIG_H) | |
7bbaaedd | 409 | |
7bbaaedd | 410 | $(BLD)/hexl.$(O) : \ |
65e46515 JB |
411 | $(LIB_SRC)/hexl.c \ |
412 | $(CONFIG_H) | |
7bbaaedd | 413 | |
7bbaaedd | 414 | $(BLD)/make-docfile.$(O) : \ |
65e46515 JB |
415 | $(LIB_SRC)/make-docfile.c \ |
416 | $(NT_INC)/unistd.h \ | |
417 | $(CONFIG_H) | |
7bbaaedd | 418 | |
7bbaaedd | 419 | $(BLD)/movemail.$(O) : \ |
65e46515 JB |
420 | $(LIB_SRC)/movemail.c \ |
421 | $(LIB_SRC)/pop.h \ | |
422 | $(SRC)/syswait.h \ | |
423 | $(NT_INC)/pwd.h \ | |
424 | $(NT_INC)/sys/file.h \ | |
425 | $(NT_INC)/sys/stat.h \ | |
426 | $(NT_INC)/unistd.h \ | |
427 | $(GNU_LIB)/getopt.h \ | |
428 | $(CONFIG_H) \ | |
429 | $(NTLIB_H) | |
7bbaaedd AI |
430 | |
431 | $(BLD)/ntlib.$(O) : \ | |
65e46515 JB |
432 | $(LIB_SRC)/ntlib.c \ |
433 | $(NT_INC)/sys/stat.h \ | |
434 | $(NTLIB_H) | |
7bbaaedd AI |
435 | |
436 | $(BLD)/pop.$(O) : \ | |
65e46515 JB |
437 | $(LIB_SRC)/pop.c \ |
438 | $(LIB_SRC)/pop.h \ | |
439 | $(NT_INC)/netdb.h \ | |
440 | $(NT_INC)/pwd.h \ | |
441 | $(NT_INC)/unistd.h \ | |
442 | $(GNU_LIB)/min-max.h \ | |
443 | $(CONFIG_H) \ | |
444 | $(NTLIB_H) | |
7bbaaedd AI |
445 | |
446 | $(BLD)/profile.$(O) : \ | |
65e46515 JB |
447 | $(LIB_SRC)/profile.c \ |
448 | $(GNU_LIB)/intprops.h \ | |
449 | $(CONFIG_H) \ | |
450 | $(INTTYPES_H) \ | |
451 | $(SYSTIME_H) | |
452 | ||
453 | $(BLD)/regex.$(O) : \ | |
454 | $(SRC)/regex.c \ | |
455 | $(SRC)/regex.h \ | |
9851e4a5 | 456 | $(NT_INC)/stdbool.h \ |
65e46515 JB |
457 | $(NT_INC)/unistd.h \ |
458 | $(CONFIG_H) | |
7bbaaedd | 459 | |
7bbaaedd | 460 | $(BLD)/test-distrib.$(O) : \ |
65e46515 JB |
461 | $(LIB_SRC)/test-distrib.c \ |
462 | $(NT_INC)/unistd.h \ | |
463 | $(CONFIG_H) | |
7bbaaedd | 464 | |
1a8a626d EZ |
465 | # The following dependencies are for supporting parallel builds, where |
466 | # we must make sure $(BLD) exists before any compilation starts. | |
467 | # | |
c136e5cd | 468 | $(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O): stamp_BLD |
1a8a626d | 469 | |
f915f0f7 | 470 | $(BLD)/test-distrib.$(O) $(MOVEMAILOBJS): stamp_BLD |
1a8a626d EZ |
471 | |
472 | $(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD | |
473 | ||
8519232d | 474 | $(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O) $(BLD)/profile.$(O): stamp_BLD |