1#  -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
2#  Copyright (C) 2000, 2001, 2002, 2003, 2004,
3#                2005, 2006, 2007 Free Software Foundation, Inc.
4#
5#  This file is part of GNU Emacs.
6#
7#  GNU Emacs is free software; you can redistribute it and/or modify
8#  it under the terms of the GNU General Public License as published by
9#  the Free Software Foundation; either version 2, or (at your option)
10#  any later version.
11#
12#  GNU Emacs is distributed in the hope that it will be useful,
13#  but WITHOUT ANY WARRANTY; without even the implied warranty of
14#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15#  GNU General Public License for more details.
16#
17#  You should have received a copy of the GNU General Public License
18#  along with GNU Emacs; see the file COPYING.  If not, write to the
19#  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20#  Boston, MA 02110-1301, USA.
21#
22
23ALL = make-docfile hexl ctags etags movemail ebrowse sorted-doc digest-doc emacsclient
24
25.PHONY: $(ALL)
26
27VERSION		= 22.1
28
29LOCAL_FLAGS	= -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \
30		  -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \
31		  -I../src
32
33LIBS 		= $(BASE_LIBS) $(ADVAPI32)
34
35$(BLD)/make-docfile.exe: 	$(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O)
36		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O) $(LIBS)
37$(BLD)/hexl.exe:		$(BLD)/hexl.$(O)
38		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/hexl.$(O) $(LIBS)
39$(BLD)/fakemail.exe: 		$(BLD)/fakemail.$(O) $(BLD)/ntlib.$(O)
40		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/fakemail.$(O) $(BLD)/ntlib.$(O) $(LIBS)
41$(BLD)/sorted-doc.exe: 	$(BLD)/sorted-doc.$(O)
42		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/sorted-doc.$(O) $(LIBS)
43$(BLD)/digest-doc.exe: 	$(BLD)/digest-doc.$(O)
44		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/digest-doc.$(O) $(LIBS)
45$(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O)
46		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS)
47
48make-docfile:	stamp_BLD $(BLD)/make-docfile.exe
49ctags:		stamp_BLD $(BLD)/ctags.exe
50etags:		stamp_BLD $(BLD)/etags.exe
51ebrowse:        stamp_BLD $(BLD)/ebrowse.exe
52hexl:		stamp_BLD $(BLD)/hexl.exe
53movemail:	stamp_BLD $(BLD)/movemail.exe
54fakemail:	stamp_BLD $(BLD)/fakemail.exe
55sorted-doc:	stamp_BLD $(BLD)/sorted-doc.exe
56digest-doc:	stamp_BLD $(BLD)/digest-doc.exe
57emacsclient:	stamp_BLD $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe
58
59test-distrib:	stamp_BLD $(BLD)/test-distrib.exe
60	"$(BLD)/test-distrib.exe" "$(SRC)/testfile"
61
62GETOPTOBJS = $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O)
63GETOPTDEPS = $(GETOPTOBJS) getopt.h
64MOVEMAILOBJS =  $(BLD)/movemail.$(O) \
65		$(BLD)/pop.$(O) \
66		$(BLD)/ntlib.$(O) \
67		$(GETOPTOBJS)
68
69$(BLD)/movemail.exe:	$(MOVEMAILOBJS) getopt.h
70# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
71		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(MOVEMAILOBJS) $(WSOCK32) $(LIBS)
72
73ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR -DVERSION="\"$(VERSION)\""
74ECLIENTOBJS =	$(BLD)/emacsclient.$(O) \
75		$(BLD)/getopt.$(O) \
76		$(BLD)/getopt1.$(O) \
77		$(BLD)/ntlib.$(O)
78TRES =		../nt/$(BLD)/emacs.res
79
80$(TRES):	../nt/emacs.rc
81		$(RC) $(RC_OUT)../nt/$(BLD)/emacs.res $(ALL_DEPS)
82
83$(BLD)/emacsclient.exe:		$(ECLIENTOBJS)
84# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
85		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(LIBS)
86
87$(BLD)/emacsclientw.exe:	$(ECLIENTOBJS) $(TRES)
88# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
89		$(LINK) $(LINK_OUT)$@ $(TRES) -mwindows $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(LIBS)
90
91# emacsclient.$(O) depends on makefile.w32-in because makefile.w32-in
92# can be edited to define VERSION string, which is part of ECLIENT_CFLAGS.
93$(BLD)/emacsclient.$(O):	emacsclient.c makefile.w32-in
94		$(CC) $(CFLAGS) $(ECLIENT_CFLAGS) $(CC_OUT)$@ emacsclient.c
95
96ETAGSOBJ      = $(BLD)/etags.$(O) \
97		$(BLD)/getopt.$(O) \
98		$(BLD)/getopt1.$(O) \
99		$(BLD)/ntlib.$(O) \
100		$(BLD)/regex.$(O)
101
102$(BLD)/etags.exe: 	$(ETAGSOBJ)
103		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ETAGSOBJ) $(LIBS)
104
105
106EBROWSEOBJ    = $(BLD)/ebrowse.$(O) \
107		$(BLD)/getopt.$(O) \
108		$(BLD)/getopt1.$(O) \
109		$(BLD)/ntlib.$(O)
110
111$(BLD)/ebrowse.exe:     $(EBROWSEOBJ)
112		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(EBROWSEOBJ) $(LIBS)
113
114$(BLD)/regex.$(O): ../src/regex.c ../src/regex.h ../src/config.h
115		$(CC)  $(CFLAGS) -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \
116		../src/regex.c $(CC_OUT)$@
117
118ETAGS_CFLAGS  = -DHAVE_GETCWD
119$(BLD)/etags.$(O): etags.c
120		$(CC) $(CFLAGS) $(ETAGS_CFLAGS) $(CC_OUT)$@ etags.c
121
122CTAGSOBJ      = $(BLD)/ctags.$(O) \
123		$(BLD)/getopt.$(O) \
124		$(BLD)/getopt1.$(O) \
125		$(BLD)/ntlib.$(O) \
126		$(BLD)/regex.$(O)
127
128$(BLD)/ctags.exe:  $(CTAGSOBJ)
129		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(CTAGSOBJ) $(LIBS)
130
131ctags.c:	etags.c
132		- $(DEL) ctags.c
133		$(CP) etags.c ctags.c
134
135CTAGS_CFLAGS  = -DCTAGS $(ETAGS_CFLAGS)
136$(BLD)/ctags.$(O): ctags.c
137		$(CC) $(CFLAGS) $(CTAGS_CFLAGS) $(CC_OUT)$@ ctags.c
138
139#
140# From ..\src\Makefile.in
141# It doesn't matter if the real name is *.obj for the files in this list,
142# make-docfile blindly replaces .o with .c anyway.  Keep .o in this list
143# as it is required by code in doc.c.
144#
145obj=    sunfns.o dosfns.o msdos.o \
146	xterm.o xfns.o xmenu.o xselect.o xrdb.o  fringe.o image.o \
147	mac.o macterm.o macfns.o macmenu.o fontset.o \
148	w32.o w32bdf.o w32console.o w32fns.o w32heap.o w32inevt.o \
149	w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \
150	dispnew.o frame.o scroll.o xdisp.o window.o \
151	charset.o coding.o category.o ccl.o \
152	cm.o term.o xfaces.o \
153	emacs.o keyboard.o macros.o keymap.o sysdep.o \
154	buffer.o filelock.o insdel.o marker.o \
155	minibuf.o fileio.o dired.o filemode.o \
156	cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
157	alloc.o data.o doc.o editfns.o callint.o \
158	eval.o floatfns.o fns.o print.o lread.o \
159	abbrev.o syntax.o bytecode.o \
160	process.o callproc.o \
161	region-cache.o sound.o atimer.o \
162	doprnt.o strftime.o intervals.o textprop.o composite.o md5.o
163
164#
165# These are the lisp files that are loaded up in loadup.el
166#
167lispsource = ../lisp/
168
169MOUSE_SUPPORT = $(lispsource)select.elc $(lispsource)scroll-bar.elc $(lispsource)mouse.elc $(lispsource)tooltip.elc
170WINNT_SUPPORT = $(lispsource)ls-lisp.elc $(lispsource)disp-table.elc $(lispsource)w32-fns.elc $(lispsource)dos-w32.elc $(lispsource)w32-vars.elc
171
172# lisp files that are loaded up on other platforms
173MSDOS_SUPPORT = $(lispsource)dos-fns.elc $(lispsource)dos-vars.elc $(lispsource)international/ccl.elc $(lispsource)international/codepage.elc
174VMS_SUPPORT = $(lispsource)vmsproc.elc $(lispsource)vms-patch.elc
175
176lisp1= \
177	$(lispsource)abbrev.elc \
178	$(lispsource)buff-menu.elc \
179	$(lispsource)button.elc \
180	$(lispsource)emacs-lisp/byte-run.elc \
181	$(lispsource)cus-face.elc \
182	$(lispsource)cus-start.elc \
183	$(lispsource)custom.elc \
184	$(lispsource)emacs-lisp/backquote.elc \
185	$(lispsource)emacs-lisp/lisp-mode.elc \
186	$(lispsource)emacs-lisp/lisp.elc \
187	$(lispsource)facemenu.elc \
188	$(MOUSE_SUPPORT) \
189	$(lispsource)faces.elc \
190	$(lispsource)files.elc \
191	$(lispsource)emacs-lisp/float-sup.elc \
192	$(lispsource)format.elc \
193	$(lispsource)frame.elc \
194	$(lispsource)help.elc \
195	$(lispsource)indent.elc \
196	$(lispsource)isearch.elc \
197	$(lispsource)rfn-eshadow.elc \
198	$(lispsource)loadup.el \
199	$(lispsource)loaddefs.el \
200	$(lispsource)bindings.elc \
201	$(lispsource)emacs-lisp/map-ynp.elc \
202	$(lispsource)env.elc \
203	$(lispsource)international/mule.elc \
204	$(lispsource)international/mule-conf.el \
205	$(lispsource)international/mule-cmds.elc \
206	$(lispsource)international/characters.elc \
207	$(lispsource)international/ucs-tables.elc \
208	$(lispsource)international/utf-8.elc \
209	$(lispsource)international/utf-16.elc \
210	$(lispsource)international/latin-1.el \
211	$(lispsource)international/latin-2.el \
212	$(lispsource)international/latin-3.el \
213	$(lispsource)international/latin-4.el \
214	$(lispsource)international/latin-5.el \
215	$(lispsource)international/latin-8.el \
216	$(lispsource)international/latin-9.el \
217	$(lispsource)fringe.elc \
218	$(lispsource)image.elc \
219	$(lispsource)international/fontset.elc \
220	$(lispsource)dnd.elc \
221	$(lispsource)mwheel.elc \
222	$(lispsource)tool-bar.elc \
223	$(lispsource)case-table.elc
224
225lisp2 = \
226	$(lispsource)language/chinese.elc \
227	$(lispsource)language/cyrillic.elc \
228	$(lispsource)language/indian.elc \
229	$(lispsource)language/devanagari.el \
230	$(lispsource)language/kannada.el \
231	$(lispsource)language/malayalam.el \
232	$(lispsource)language/tamil.el \
233	$(lispsource)language/english.el \
234	$(lispsource)language/ethiopic.elc \
235	$(lispsource)language/european.elc \
236	$(lispsource)language/czech.el \
237	$(lispsource)language/slovak.el \
238	$(lispsource)language/romanian.el \
239	$(lispsource)language/greek.el \
240	$(lispsource)language/hebrew.el \
241	$(lispsource)language/japanese.el \
242	$(lispsource)language/korean.el \
243	$(lispsource)language/lao.el \
244	$(lispsource)language/thai.el \
245	$(lispsource)language/tibetan.elc \
246	$(lispsource)language/vietnamese.elc \
247	$(lispsource)language/misc-lang.el \
248	$(lispsource)language/utf-8-lang.el \
249	$(lispsource)language/georgian.el \
250	$(lispsource)menu-bar.elc \
251	$(lispsource)paths.el \
252	$(lispsource)register.elc \
253	$(lispsource)replace.elc \
254	$(lispsource)simple.elc \
255	$(lispsource)startup.elc \
256	$(lispsource)subr.elc \
257	$(lispsource)term/tty-colors.elc \
258	$(lispsource)font-core.elc \
259	$(lispsource)emacs-lisp/syntax.elc \
260	$(lispsource)font-lock.elc \
261	$(lispsource)jit-lock.elc \
262	$(lispsource)textmodes/fill.elc \
263	$(lispsource)textmodes/page.elc \
264	$(lispsource)textmodes/paragraphs.elc \
265	$(lispsource)textmodes/text-mode.elc \
266	$(lispsource)emacs-lisp/timer.elc \
267	$(lispsource)vc-hooks.elc \
268	$(lispsource)jka-cmpr-hook.elc \
269	$(lispsource)ediff-hook.elc \
270	$(VMS_SUPPORT) \
271	$(MSDOS_SUPPORT) \
272	$(WINNT_SUPPORT) \
273	$(lispsource)widget.elc \
274	$(lispsource)window.elc \
275	$(lispsource)version.el
276
277# This is needed the first time we build the tree, since temacs.exe
278# does not exist yet, and the DOC rule needs it to rebuild DOC whenever
279# Emacs is rebuilt.
280../src/$(BLD)/temacs.exe:
281	- mkdir "../src/$(OBJDIR)"
282	- mkdir "../src/$(BLD)"
283	@echo temacs > temacs.exe
284	$(CP) temacs.exe ../src/$(BLD)
285	- $(DEL) temacs.exe
286
287DOC	      = DOC
288$(DOC):		stamp_BLD $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2)
289		- $(DEL) $(DOC)
290		"$(THISDIR)/$(BLD)/make-docfile" -o $(DOC) -d ../src $(obj)
291		"$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp1)
292		"$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp2)
293		$(CP) $(DOC) ../etc/DOC-X
294		- mkdir "../src/$(OBJDIR)"
295		- mkdir "../src/$(OBJDIR)/etc"
296		$(CP) $(DOC) ../src/$(OBJDIR)/etc/DOC-X
297
298{$(BLD)}.$(O){$(BLD)}.exe:
299		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $*.$(O) $(LIBS)
300
301#
302# Build the executables
303#
304all:		stamp_BLD $(ALL) $(DOC)
305
306#
307# Assuming INSTALL_DIR is defined, build and install emacs in it.
308#
309INSTALL_FILES = $(ALL)
310install:	$(INSTALL_FILES)
311		- mkdir "$(INSTALL_DIR)/bin"
312		$(CP) $(BLD)/etags.exe $(INSTALL_DIR)/bin
313		$(CP) $(BLD)/ebrowse.exe $(INSTALL_DIR)/bin
314		$(CP) $(BLD)/ctags.exe $(INSTALL_DIR)/bin
315		$(CP) $(BLD)/hexl.exe $(INSTALL_DIR)/bin
316		$(CP) $(BLD)/movemail.exe $(INSTALL_DIR)/bin
317		$(CP) $(BLD)/sorted-doc.exe $(INSTALL_DIR)/bin
318		$(CP) $(BLD)/digest-doc.exe $(INSTALL_DIR)/bin
319		$(CP) $(BLD)/emacsclient.exe $(INSTALL_DIR)/bin
320		$(CP) $(BLD)/emacsclientw.exe $(INSTALL_DIR)/bin
321		- mkdir "$(INSTALL_DIR)/etc"
322		$(CP) $(DOC) $(INSTALL_DIR)/etc
323
324#
325# Maintenance
326#
327clean:
328		- $(DEL) *~ DOC* $(COMPILER_TEMP_FILES)
329		- $(DEL) ctags.c
330		- $(DEL) getopt.h
331		- $(DEL_TREE) $(OBJDIR)
332		- $(DEL) stamp_BLD
333
334cleanall:	clean
335		- $(DEL_TREE) obj
336		- $(DEL_TREE) obj-spd
337		- $(DEL_TREE) oo
338		- $(DEL_TREE) oo-spd
339
340#
341# Headers we would preprocess if we could.
342#
343../src/config.h:	../nt/$(CONFIG_H)
344			echo $(CONFIG_H) has changed.  Re-run configure.bat.
345			exit -1
346
347getopt.h:		getopt_.h
348			$(CP) $(ALL_DEPS) $@
349
350### DEPENDENCIES ###
351
352EMACS_ROOT	= ..
353SRC		= .
354
355$(BLD)/alloca.$(O) : \
356	$(SRC)/alloca.c \
357	$(EMACS_ROOT)/src/s/ms-w32.h \
358	$(EMACS_ROOT)/src/m/intel386.h \
359	$(EMACS_ROOT)/src/config.h \
360	$(EMACS_ROOT)/src/blockinput.h
361
362$(BLD)/b2m.$(O) : \
363	$(SRC)/b2m.c \
364	$(EMACS_ROOT)/src/s/ms-w32.h \
365	$(EMACS_ROOT)/src/m/intel386.h \
366	$(EMACS_ROOT)/lib-src/../src/config.h
367
368$(BLD)/ctags.$(O) : \
369	$(SRC)/ctags.c \
370	$(EMACS_ROOT)/nt/inc/sys/param.h \
371	$(EMACS_ROOT)/src/s/ms-w32.h \
372	$(EMACS_ROOT)/src/m/intel386.h \
373	$(EMACS_ROOT)/lib-src/../src/config.h \
374	$(SRC)/ntlib.h \
375	$(SRC)/getopt.h
376
377$(BLD)/digest-doc.$(O) : \
378	$(SRC)/digest-doc.c
379
380$(BLD)/emacsclient.$(O) : \
381	$(SRC)/emacsclient.c \
382	$(EMACS_ROOT)/src/s/ms-w32.h \
383	$(EMACS_ROOT)/src/m/intel386.h \
384	$(EMACS_ROOT)/lib-src/../src/config.h
385
386$(BLD)/etags.$(O) : \
387	$(SRC)/etags.c \
388	$(EMACS_ROOT)/nt/inc/sys/param.h \
389	$(EMACS_ROOT)/src/s/ms-w32.h \
390	$(EMACS_ROOT)/src/m/intel386.h \
391	$(EMACS_ROOT)/lib-src/../src/config.h \
392	$(SRC)/ntlib.h \
393	$(SRC)/getopt.h
394
395$(BLD)/fakemail.$(O) : \
396	$(SRC)/fakemail.c \
397	$(SRC)/ntlib.h \
398	$(EMACS_ROOT)/src/s/ms-w32.h \
399	$(EMACS_ROOT)/src/m/intel386.h \
400	$(EMACS_ROOT)/lib-src/../src/config.h \
401	$(EMACS_ROOT)/nt/inc/pwd.h
402
403$(BLD)/getdate.$(O) : \
404	$(SRC)/getdate.c \
405	$(EMACS_ROOT)/src/s/ms-w32.h \
406	$(EMACS_ROOT)/src/m/intel386.h \
407	$(EMACS_ROOT)/src/config.h \
408	$(MSTOOLS_SYS)/types.h
409
410$(BLD)/getopt.$(O) : \
411	$(SRC)/getopt.c \
412	$(EMACS_ROOT)/src/s/ms-w32.h \
413	$(EMACS_ROOT)/src/m/intel386.h \
414	$(EMACS_ROOT)/src/config.h \
415	$(SRC)/ntlib.h \
416	$(SRC)/getopt.h
417
418$(BLD)/getopt1.$(O) : \
419	$(SRC)/getopt1.c \
420	$(EMACS_ROOT)/src/s/ms-w32.h \
421	$(EMACS_ROOT)/src/m/intel386.h \
422	$(EMACS_ROOT)/src/config.h \
423	$(SRC)/getopt.h
424
425$(BLD)/hexl.$(O) : \
426	$(SRC)/hexl.c
427
428$(BLD)/leditcfns.$(O) : \
429	$(SRC)/leditcfns.c
430
431$(BLD)/make-docfile.$(O) : \
432	$(SRC)/make-docfile.c \
433	$(EMACS_ROOT)/src/config.h
434
435$(BLD)/make-path.$(O) : \
436	$(SRC)/make-path.c
437
438$(BLD)/movemail.$(O) : \
439	$(SRC)/movemail.c \
440	$(EMACS_ROOT)/src/s/ms-w32.h \
441	$(EMACS_ROOT)/src/m/intel386.h \
442	$(EMACS_ROOT)/lib-src/../src/config.h \
443	$(EMACS_ROOT)/nt/inc/sys/file.h \
444	$(EMACS_ROOT)/lib-src/../src/syswait.h \
445	$(EMACS_ROOT)/nt/inc/pwd.h \
446	$(SRC)/ntlib.h
447	$(CC) $(CFLAGS) -DUSG $(CC_OUT)$@ movemail.c
448
449$(BLD)/ntlib.$(O) : \
450	$(SRC)/ntlib.c \
451	$(SRC)/ntlib.h \
452	$(EMACS_ROOT)/nt/inc/pwd.h
453
454$(BLD)/pop.$(O) : \
455	$(SRC)/pop.c \
456	$(SRC)/pop.h \
457	$(SRC)/ntlib.h
458
459$(BLD)/profile.$(O) : \
460	$(SRC)/profile.c \
461	$(EMACS_ROOT)/src/s/ms-w32.h \
462	$(EMACS_ROOT)/src/m/intel386.h \
463	$(EMACS_ROOT)/lib-src/../src/config.h \
464	$(EMACS_ROOT)/lib-src/../src/systime.h
465
466$(BLD)/qsort.$(O) : \
467	$(SRC)/qsort.c
468
469$(BLD)/sorted-doc.$(O) : \
470	$(SRC)/sorted-doc.c \
471	$(EMACS_ROOT)/src/s/ms-w32.h \
472	$(EMACS_ROOT)/src/m/intel386.h \
473	$(EMACS_ROOT)/src/config.h \
474
475$(BLD)/tcp.$(O) : \
476	$(SRC)/tcp.c
477
478$(BLD)/test-distrib.$(O) : \
479	$(SRC)/test-distrib.c
480
481$(BLD)/timer.$(O) : \
482	$(SRC)/timer.c \
483	$(EMACS_ROOT)/src/s/ms-w32.h \
484	$(EMACS_ROOT)/src/m/intel386.h \
485	$(EMACS_ROOT)/lib-src/../src/config.h
486
487# The following dependencies are for supporting parallel builds, where
488# we must make sure $(BLD) exists before any compilation starts.
489#
490$(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O): stamp_BLD
491
492$(BLD)/sorted-doc.$(O) $(BLD)/digest-doc.$(O): stamp_BLD
493
494$(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS): stamp_BLD
495
496$(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD
497
498$(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O): stamp_BLD
499