makefile.w32-in 15.4 KB
Newer Older
1
#  -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
Glenn Morris's avatar
Glenn Morris committed
2
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
Glenn Morris's avatar
Glenn Morris committed
3
#   2009, 2010 Free Software Foundation, Inc.
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

# This file is part of GNU Emacs.

# GNU Emacs is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.

Andrew Innes's avatar
Andrew Innes committed
20

Juanma Barranquero's avatar
Juanma Barranquero committed
21
ALL = make-docfile hexl ctags etags movemail ebrowse sorted-doc digest-doc emacsclient
Andrew Innes's avatar
Andrew Innes committed
22 23 24

.PHONY: $(ALL)

Chong Yidong's avatar
Chong Yidong committed
25
VERSION		= 24.0.50
Juanma Barranquero's avatar
Juanma Barranquero committed
26

Andrew Innes's avatar
Andrew Innes committed
27
LOCAL_FLAGS	= -DWINDOWSNT -DDOS_NT -DSTDC_HEADERS=1 -DNO_LDAV=1 \
Jason Rumney's avatar
Jason Rumney committed
28
		  -DNO_ARCHIVES=1 -DHAVE_CONFIG_H=1 -I../nt/inc \
29
		  -I../src
Andrew Innes's avatar
Andrew Innes committed
30

Juanma Barranquero's avatar
Juanma Barranquero committed
31
LIBS 		= $(BASE_LIBS) $(ADVAPI32)
Andrew Innes's avatar
Andrew Innes committed
32 33 34 35 36 37 38

$(BLD)/make-docfile.exe: 	$(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O)
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/make-docfile.$(O) $(BLD)/ntlib.$(O) $(LIBS)
$(BLD)/hexl.exe:		$(BLD)/hexl.$(O)
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/hexl.$(O) $(LIBS)
$(BLD)/fakemail.exe: 		$(BLD)/fakemail.$(O) $(BLD)/ntlib.$(O)
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/fakemail.$(O) $(BLD)/ntlib.$(O) $(LIBS)
39 40 41 42 43 44
$(BLD)/sorted-doc.exe: 	$(BLD)/sorted-doc.$(O)
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/sorted-doc.$(O) $(LIBS)
$(BLD)/digest-doc.exe: 	$(BLD)/digest-doc.$(O)
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/digest-doc.$(O) $(LIBS)
$(BLD)/test-distrib.exe: $(BLD)/test-distrib.$(O)
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(BLD)/test-distrib.$(O) $(LIBS)
Andrew Innes's avatar
Andrew Innes committed
45

46 47 48 49 50 51 52 53 54 55 56 57
make-docfile:	stamp_BLD $(BLD)/make-docfile.exe
ctags:		stamp_BLD $(BLD)/ctags.exe
etags:		stamp_BLD $(BLD)/etags.exe
ebrowse:        stamp_BLD $(BLD)/ebrowse.exe
hexl:		stamp_BLD $(BLD)/hexl.exe
movemail:	stamp_BLD $(BLD)/movemail.exe
fakemail:	stamp_BLD $(BLD)/fakemail.exe
sorted-doc:	stamp_BLD $(BLD)/sorted-doc.exe
digest-doc:	stamp_BLD $(BLD)/digest-doc.exe
emacsclient:	stamp_BLD $(BLD)/emacsclient.exe $(BLD)/emacsclientw.exe

test-distrib:	stamp_BLD $(BLD)/test-distrib.exe
58
	"$(BLD)/test-distrib.exe" "$(SRC)/testfile"
Andrew Innes's avatar
Andrew Innes committed
59 60 61 62 63 64 65 66 67 68 69 70

GETOPTOBJS = $(BLD)/getopt.$(O) $(BLD)/getopt1.$(O)
GETOPTDEPS = $(GETOPTOBJS) getopt.h
MOVEMAILOBJS =  $(BLD)/movemail.$(O) \
		$(BLD)/pop.$(O) \
		$(BLD)/ntlib.$(O) \
		$(GETOPTOBJS)

$(BLD)/movemail.exe:	$(MOVEMAILOBJS) getopt.h
# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(MOVEMAILOBJS) $(WSOCK32) $(LIBS)

Juanma Barranquero's avatar
Juanma Barranquero committed
71
ECLIENT_CFLAGS = -DHAVE_GETCWD -DHAVE_STRERROR -DVERSION="\"$(VERSION)\""
Juanma Barranquero's avatar
Juanma Barranquero committed
72 73 74 75
ECLIENTOBJS =	$(BLD)/emacsclient.$(O) \
		$(BLD)/getopt.$(O) \
		$(BLD)/getopt1.$(O) \
		$(BLD)/ntlib.$(O)
76
CLIENTRES =	../nt/$(BLD)/emacsclient.res
77

78 79 80
$(CLIENTRES):	../nt/emacsclient.rc
	@echo Emacsclient resource file must be built from nt directory
	@exit -1
Juanma Barranquero's avatar
Juanma Barranquero committed
81 82 83

$(BLD)/emacsclient.exe:		$(ECLIENTOBJS)
# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
84
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS)
Juanma Barranquero's avatar
Juanma Barranquero committed
85

86
$(BLD)/emacsclientw.exe:	$(ECLIENTOBJS) $(CLIENTRES)
87
# put wsock32.lib before $(LIBS) to ensure we don't link to ws2_32.lib
88
		$(LINK) $(LINK_OUT)$@ $(CLIENTRES) -mwindows $(LINK_FLAGS) $(ECLIENTOBJS) $(WSOCK32) $(USER32) $(COMCTL32) $(LIBS)
89

90 91 92
# emacsclient.$(O) depends on makefile.w32-in because makefile.w32-in
# can be edited to define VERSION string, which is part of ECLIENT_CFLAGS.
$(BLD)/emacsclient.$(O):	emacsclient.c makefile.w32-in
93
		$(CC) $(CFLAGS) $(ECLIENT_CFLAGS) $(CC_OUT)$@ emacsclient.c
Juanma Barranquero's avatar
Juanma Barranquero committed
94

Andrew Innes's avatar
Andrew Innes committed
95 96 97 98 99 100 101 102 103 104
ETAGSOBJ      = $(BLD)/etags.$(O) \
		$(BLD)/getopt.$(O) \
		$(BLD)/getopt1.$(O) \
		$(BLD)/ntlib.$(O) \
		$(BLD)/regex.$(O)

$(BLD)/etags.exe: 	$(ETAGSOBJ)
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(ETAGSOBJ) $(LIBS)


Jason Rumney's avatar
Jason Rumney committed
105
EBROWSEOBJ    = $(BLD)/ebrowse.$(O) \
106 107 108
		$(BLD)/getopt.$(O) \
		$(BLD)/getopt1.$(O) \
		$(BLD)/ntlib.$(O)
Jason Rumney's avatar
Jason Rumney committed
109 110

$(BLD)/ebrowse.exe:     $(EBROWSEOBJ)
111
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(EBROWSEOBJ) $(LIBS)
Jason Rumney's avatar
Jason Rumney committed
112

Andrew Innes's avatar
Andrew Innes committed
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
$(BLD)/regex.$(O): ../src/regex.c ../src/regex.h ../src/config.h
		$(CC)  $(CFLAGS) -DCONFIG_BROKETS -DINHIBIT_STRING_HEADER \
		../src/regex.c $(CC_OUT)$@

ETAGS_CFLAGS  = -DHAVE_GETCWD
$(BLD)/etags.$(O): etags.c
		$(CC) $(CFLAGS) $(ETAGS_CFLAGS) $(CC_OUT)$@ etags.c

CTAGSOBJ      = $(BLD)/ctags.$(O) \
		$(BLD)/getopt.$(O) \
		$(BLD)/getopt1.$(O) \
		$(BLD)/ntlib.$(O) \
		$(BLD)/regex.$(O)

$(BLD)/ctags.exe:  $(CTAGSOBJ)
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $(CTAGSOBJ) $(LIBS)

ctags.c:	etags.c
		- $(DEL) ctags.c
		$(CP) etags.c ctags.c

CTAGS_CFLAGS  = -DCTAGS $(ETAGS_CFLAGS)
$(BLD)/ctags.$(O): ctags.c
		$(CC) $(CFLAGS) $(CTAGS_CFLAGS) $(CC_OUT)$@ ctags.c

#
139 140 141 142
# From ..\src\Makefile.in
# It doesn't matter if the real name is *.obj for the files in this list,
# make-docfile blindly replaces .o with .c anyway.  Keep .o in this list
# as it is required by code in doc.c.
Andrew Innes's avatar
Andrew Innes committed
143
#
Miles Bader's avatar
Miles Bader committed
144
obj =   dosfns.o msdos.o \
145
	xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
Eli Zaretskii's avatar
Eli Zaretskii committed
146
	fontset.o menu.o \
147
	w32.o w32console.o w32fns.o w32heap.o w32inevt.o \
148
	w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \
Eli Zaretskii's avatar
Eli Zaretskii committed
149 150
	font.o w32font.o w32uniscribe.o \
	dispnew.o frame.o scroll.o xdisp.o window.o bidi.o \
151 152
	charset.o coding.o category.o ccl.o character.o chartab.o \
	cm.o term.o terminal.o xfaces.o \
153 154 155 156 157 158
	emacs.o keyboard.o macros.o keymap.o sysdep.o \
	buffer.o filelock.o insdel.o marker.o \
	minibuf.o fileio.o dired.o filemode.o \
	cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
	alloc.o data.o doc.o editfns.o callint.o \
	eval.o floatfns.o fns.o print.o lread.o \
Juanma Barranquero's avatar
Juanma Barranquero committed
159
	syntax.o bytecode.o \
Eli Zaretskii's avatar
Eli Zaretskii committed
160
	process.o callproc.o unexw32.o \
161 162 163
	region-cache.o sound.o atimer.o \
	doprnt.o strftime.o intervals.o textprop.o composite.o md5.o

Andrew Innes's avatar
Andrew Innes committed
164 165 166 167 168
#
# These are the lisp files that are loaded up in loadup.el
#
lispsource = ../lisp/

169 170 171
MOUSE_SUPPORT = \
	$(lispsource)select.elc \
	$(lispsource)scroll-bar.elc \
172
	$(lispsource)mouse.elc
173 174 175 176 177 178
WINNT_SUPPORT = \
	$(lispsource)ls-lisp.elc \
	$(lispsource)disp-table.elc \
	$(lispsource)w32-fns.elc \
	$(lispsource)dos-w32.elc \
	$(lispsource)w32-vars.elc \
179
	$(lispsource)term/common-win.elc \
180 181 182 183 184 185 186 187 188
	$(lispsource)term/w32-win.elc
TOOLTIP_SUPPORT = $(lispsource)tooltip.elc
WINDOW_SUPPORT = \
	$(lispsource)fringe.elc \
	$(lispsource)image.elc \
	$(lispsource)international/fontset.elc \
	$(lispsource)dnd.elc \
	$(lispsource)tool-bar.elc \
	$(lispsource)mwheel.elc
Andrew Innes's avatar
Andrew Innes committed
189

190 191 192 193
# lisp files that are loaded up on other platforms
OTHER_PLATFORM_SUPPORT = \
	$(lispsource)dos-fns.elc \
	$(lispsource)dos-vars.elc \
194 195
	$(lispsource)term/internal.elc \
	$(lispsource)term/pc-win.elc \
196
	$(lispsource)x-dnd.elc \
197
	$(lispsource)term/x-win.elc \
198 199
	$(lispsource)emacs-lisp/easymenu.elc \
	$(lispsource)term/ns-win.elc
200 201


202
lisp1= \
203 204
	$(lispsource)abbrev.elc \
	$(lispsource)buff-menu.elc \
Juanma Barranquero's avatar
Juanma Barranquero committed
205
	$(lispsource)button.elc \
206
	$(lispsource)emacs-lisp/byte-run.elc \
Jason Rumney's avatar
Jason Rumney committed
207
	$(lispsource)composite.elc \
208
	$(lispsource)cus-face.elc \
209 210
	$(lispsource)cus-start.elc \
	$(lispsource)custom.elc \
211
	$(lispsource)emacs-lisp/backquote.elc \
212 213
	$(lispsource)emacs-lisp/lisp-mode.elc \
	$(lispsource)emacs-lisp/lisp.elc \
214
	$(lispsource)env.elc \
215 216 217
	$(lispsource)faces.elc \
	$(lispsource)files.elc \
	$(lispsource)format.elc \
218 219 220
	$(lispsource)facemenu.elc \
	$(MOUSE_SUPPORT) \
	$(lispsource)emacs-lisp/float-sup.elc \
221
	$(lispsource)frame.elc \
222 223 224
	$(lispsource)help.elc \
	$(lispsource)indent.elc \
	$(lispsource)isearch.elc \
225
	$(lispsource)rfn-eshadow.elc \
Andrew Innes's avatar
Andrew Innes committed
226 227
	$(lispsource)loadup.el \
	$(lispsource)loaddefs.el \
228
	$(lispsource)bindings.elc \
229
	$(lispsource)emacs-lisp/map-ynp.elc \
230
	$(lispsource)menu-bar.elc \
231
	$(lispsource)international/mule.elc \
Andrew Innes's avatar
Andrew Innes committed
232
	$(lispsource)international/mule-conf.el \
233 234
	$(lispsource)international/mule-cmds.elc \
	$(lispsource)international/characters.elc \
235
	$(lispsource)international/charprop.el \
236 237 238
	$(lispsource)case-table.elc

lisp2 = \
239 240 241
	$(lispsource)language/chinese.el \
	$(lispsource)language/cyrillic.el \
	$(lispsource)language/indian.el \
242
	$(lispsource)language/sinhala.el \
Andrew Innes's avatar
Andrew Innes committed
243
	$(lispsource)language/english.el \
244 245
	$(lispsource)language/ethiopic.elc \
	$(lispsource)language/european.elc \
Andrew Innes's avatar
Andrew Innes committed
246 247 248 249
	$(lispsource)language/czech.el \
	$(lispsource)language/slovak.el \
	$(lispsource)language/romanian.el \
	$(lispsource)language/greek.el \
250
	$(lispsource)language/hebrew.elc \
Andrew Innes's avatar
Andrew Innes committed
251 252 253
	$(lispsource)language/japanese.el \
	$(lispsource)language/korean.el \
	$(lispsource)language/lao.el \
254
	$(lispsource)language/cham.el \
255
	$(lispsource)language/tai-viet.el \
Andrew Innes's avatar
Andrew Innes committed
256
	$(lispsource)language/thai.el \
257
	$(lispsource)language/tibetan.elc \
258
	$(lispsource)language/vietnamese.el \
Andrew Innes's avatar
Andrew Innes committed
259
	$(lispsource)language/misc-lang.el \
260 261
	$(lispsource)language/utf-8-lang.el \
	$(lispsource)language/georgian.el \
262 263
	$(lispsource)language/khmer.el \
	$(lispsource)language/burmese.el \
Andrew Innes's avatar
Andrew Innes committed
264
	$(lispsource)paths.el \
265 266 267
	$(lispsource)register.elc \
	$(lispsource)replace.elc \
	$(lispsource)simple.elc \
268
	$(lispsource)minibuffer.elc \
269 270 271
	$(lispsource)startup.elc \
	$(lispsource)subr.elc \
	$(lispsource)term/tty-colors.elc \
272
	$(lispsource)font-core.elc \
273 274 275
	$(lispsource)emacs-lisp/syntax.elc \
	$(lispsource)font-lock.elc \
	$(lispsource)jit-lock.elc \
276 277 278 279
	$(lispsource)textmodes/fill.elc \
	$(lispsource)textmodes/page.elc \
	$(lispsource)textmodes/paragraphs.elc \
	$(lispsource)textmodes/text-mode.elc \
280 281
	$(lispsource)emacs-lisp/timer.elc \
	$(lispsource)jka-cmpr-hook.elc \
282 283
	$(lispsource)vc/vc-hooks.elc \
	$(lispsource)vc/ediff-hook.elc \
284
	$(lispsource)epa-hook.elc \
285
	$(TOOLTIP_SUPPORT) \
Andrew Innes's avatar
Andrew Innes committed
286
	$(WINNT_SUPPORT) \
287
	$(WINDOW_SUPPORT) \
288 289
	$(lispsource)widget.elc \
	$(lispsource)window.elc \
Andrew Innes's avatar
Andrew Innes committed
290 291
	$(lispsource)version.el

Glenn Morris's avatar
Glenn Morris committed
292 293 294 295 296
# Used by batch-update-autoloads.
echolisp:
	@echo $(lisp1)
	@echo $(lisp2)

297 298 299 300 301 302 303 304 305
# This is needed the first time we build the tree, since temacs.exe
# does not exist yet, and the DOC rule needs it to rebuild DOC whenever
# Emacs is rebuilt.
../src/$(BLD)/temacs.exe:
	- mkdir "../src/$(OBJDIR)"
	- mkdir "../src/$(BLD)"
	@echo temacs > temacs.exe
	$(CP) temacs.exe ../src/$(BLD)
	- $(DEL) temacs.exe
Andrew Innes's avatar
Andrew Innes committed
306

307
DOC	      = DOC
308
$(DOC):		stamp_BLD $(BLD)/make-docfile.exe ../src/$(BLD)/temacs.exe $(lisp1) $(lisp2) $(OTHER_PLATFORM_SUPPORT)
Andrew Innes's avatar
Andrew Innes committed
309
		- $(DEL) $(DOC)
310
		"$(THISDIR)/$(BLD)/make-docfile" -o $(DOC) -d ../src $(obj)
311 312
		"$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp1)
		"$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(lisp2)
313
		"$(THISDIR)/$(BLD)/make-docfile" -a $(DOC) -d ../src $(OTHER_PLATFORM_SUPPORT)
Andrew Innes's avatar
Andrew Innes committed
314 315 316 317 318 319 320 321 322 323 324
		$(CP) $(DOC) ../etc/DOC-X
		- mkdir "../src/$(OBJDIR)"
		- mkdir "../src/$(OBJDIR)/etc"
		$(CP) $(DOC) ../src/$(OBJDIR)/etc/DOC-X

{$(BLD)}.$(O){$(BLD)}.exe:
		$(LINK) $(LINK_OUT)$@ $(LINK_FLAGS) $*.$(O) $(LIBS)

#
# Build the executables
#
325
all:		stamp_BLD $(ALL) $(DOC)
Andrew Innes's avatar
Andrew Innes committed
326 327 328 329 330 331 332 333

#
# Assuming INSTALL_DIR is defined, build and install emacs in it.
#
INSTALL_FILES = $(ALL)
install:	$(INSTALL_FILES)
		- mkdir "$(INSTALL_DIR)/bin"
		$(CP) $(BLD)/etags.exe $(INSTALL_DIR)/bin
334
		$(CP) $(BLD)/ebrowse.exe $(INSTALL_DIR)/bin
Andrew Innes's avatar
Andrew Innes committed
335 336 337
		$(CP) $(BLD)/ctags.exe $(INSTALL_DIR)/bin
		$(CP) $(BLD)/hexl.exe $(INSTALL_DIR)/bin
		$(CP) $(BLD)/movemail.exe $(INSTALL_DIR)/bin
338 339
		$(CP) $(BLD)/sorted-doc.exe $(INSTALL_DIR)/bin
		$(CP) $(BLD)/digest-doc.exe $(INSTALL_DIR)/bin
Juanma Barranquero's avatar
Juanma Barranquero committed
340
		$(CP) $(BLD)/emacsclient.exe $(INSTALL_DIR)/bin
341
		$(CP) $(BLD)/emacsclientw.exe $(INSTALL_DIR)/bin
Andrew Innes's avatar
Andrew Innes committed
342 343 344 345 346
		- mkdir "$(INSTALL_DIR)/etc"
		$(CP) $(DOC) $(INSTALL_DIR)/etc

#
# Maintenance
347
#
Eli Zaretskii's avatar
Eli Zaretskii committed
348 349
# We used to delete *~ here, but that might inadvertently remove
# precious files if it happens to match their short 8+3 aliases.
Andrew Innes's avatar
Andrew Innes committed
350
clean:
Eli Zaretskii's avatar
Eli Zaretskii committed
351
		- $(DEL) DOC* $(COMPILER_TEMP_FILES)
Andrew Innes's avatar
Andrew Innes committed
352
		- $(DEL) ctags.c
Juanma Barranquero's avatar
Juanma Barranquero committed
353
		- $(DEL) getopt.h
Andrew Innes's avatar
Andrew Innes committed
354
		- $(DEL_TREE) $(OBJDIR)
Eli Zaretskii's avatar
Eli Zaretskii committed
355
		- $(DEL) stamp_BLD
Glenn Morris's avatar
Glenn Morris committed
356
		- $(DEL) echolisp.tmp
Andrew Innes's avatar
Andrew Innes committed
357

358 359 360 361 362 363
distclean: cleanall
	- $(DEL) TAGS
	- $(DEL) Makefile

maintainer-clean: distclean

Andrew Innes's avatar
Andrew Innes committed
364 365 366 367 368 369 370 371 372 373
cleanall:	clean
		- $(DEL_TREE) obj
		- $(DEL_TREE) obj-spd
		- $(DEL_TREE) oo
		- $(DEL_TREE) oo-spd

#
# Headers we would preprocess if we could.
#
../src/config.h:	../nt/$(CONFIG_H)
374
			$(DEL) $@
375
			echo $(CONFIG_H) has changed.  Re-run configure.bat.
376 377
			exit -1

Juanma Barranquero's avatar
Juanma Barranquero committed
378 379
getopt.h:		getopt_.h
			$(CP) $(ALL_DEPS) $@
Andrew Innes's avatar
Andrew Innes committed
380

381 382 383 384 385 386
### TAGS ###

tags: TAGS
TAGS: $(BLD)/etags.exe *.c *.h
	$(BLD)/etags.exe *.c *.h

Andrew Innes's avatar
Andrew Innes committed
387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483
### DEPENDENCIES ###

EMACS_ROOT	= ..
SRC		= .

$(BLD)/alloca.$(O) : \
	$(SRC)/alloca.c \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/src/config.h \
	$(EMACS_ROOT)/src/blockinput.h

$(BLD)/b2m.$(O) : \
	$(SRC)/b2m.c \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/lib-src/../src/config.h

$(BLD)/ctags.$(O) : \
	$(SRC)/ctags.c \
	$(EMACS_ROOT)/nt/inc/sys/param.h \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/lib-src/../src/config.h \
	$(SRC)/ntlib.h \
	$(SRC)/getopt.h

$(BLD)/digest-doc.$(O) : \
	$(SRC)/digest-doc.c

$(BLD)/emacsclient.$(O) : \
	$(SRC)/emacsclient.c \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/lib-src/../src/config.h

$(BLD)/etags.$(O) : \
	$(SRC)/etags.c \
	$(EMACS_ROOT)/nt/inc/sys/param.h \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/lib-src/../src/config.h \
	$(SRC)/ntlib.h \
	$(SRC)/getopt.h

$(BLD)/fakemail.$(O) : \
	$(SRC)/fakemail.c \
	$(SRC)/ntlib.h \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/lib-src/../src/config.h \
	$(EMACS_ROOT)/nt/inc/pwd.h

$(BLD)/getdate.$(O) : \
	$(SRC)/getdate.c \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/src/config.h \
	$(MSTOOLS_SYS)/types.h

$(BLD)/getopt.$(O) : \
	$(SRC)/getopt.c \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/src/config.h \
	$(SRC)/ntlib.h \
	$(SRC)/getopt.h

$(BLD)/getopt1.$(O) : \
	$(SRC)/getopt1.c \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/src/config.h \
	$(SRC)/getopt.h

$(BLD)/hexl.$(O) : \
	$(SRC)/hexl.c

$(BLD)/leditcfns.$(O) : \
	$(SRC)/leditcfns.c

$(BLD)/make-docfile.$(O) : \
	$(SRC)/make-docfile.c \
	$(EMACS_ROOT)/src/config.h

$(BLD)/make-path.$(O) : \
	$(SRC)/make-path.c

$(BLD)/movemail.$(O) : \
	$(SRC)/movemail.c \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/lib-src/../src/config.h \
	$(EMACS_ROOT)/nt/inc/sys/file.h \
	$(EMACS_ROOT)/lib-src/../src/syswait.h \
	$(EMACS_ROOT)/nt/inc/pwd.h \
	$(SRC)/ntlib.h
484
	$(CC) $(CFLAGS) -DUSG $(CC_OUT)$@ movemail.c
Andrew Innes's avatar
Andrew Innes committed
485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506

$(BLD)/ntlib.$(O) : \
	$(SRC)/ntlib.c \
	$(SRC)/ntlib.h \
	$(EMACS_ROOT)/nt/inc/pwd.h

$(BLD)/pop.$(O) : \
	$(SRC)/pop.c \
	$(SRC)/pop.h \
	$(SRC)/ntlib.h

$(BLD)/profile.$(O) : \
	$(SRC)/profile.c \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/lib-src/../src/config.h \
	$(EMACS_ROOT)/lib-src/../src/systime.h

$(BLD)/qsort.$(O) : \
	$(SRC)/qsort.c

$(BLD)/sorted-doc.$(O) : \
507 508 509
	$(SRC)/sorted-doc.c \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
510
	$(EMACS_ROOT)/src/config.h
Andrew Innes's avatar
Andrew Innes committed
511 512 513 514 515 516 517 518 519 520 521 522

$(BLD)/tcp.$(O) : \
	$(SRC)/tcp.c

$(BLD)/test-distrib.$(O) : \
	$(SRC)/test-distrib.c

$(BLD)/timer.$(O) : \
	$(SRC)/timer.c \
	$(EMACS_ROOT)/src/s/ms-w32.h \
	$(EMACS_ROOT)/src/m/intel386.h \
	$(EMACS_ROOT)/lib-src/../src/config.h
523 524 525 526 527 528 529 530 531 532 533 534 535

# The following dependencies are for supporting parallel builds, where
# we must make sure $(BLD) exists before any compilation starts.
#
$(BLD)/make-docfile.$(O) $(BLD)/hexl.$(O) $(BLD)/fakemail.$(O): stamp_BLD

$(BLD)/sorted-doc.$(O) $(BLD)/digest-doc.$(O): stamp_BLD

$(BLD)/test-distrib.$(O) $(GETOPTOBJS) $(MOVEMAILOBJS): stamp_BLD

$(BLD)/emacsclient.$(O) $(BLD)/etags.$(O) $(BLD)/regex.$(O): stamp_BLD

$(BLD)/ebrowse.$(O) $(BLD)/ctags.$(O): stamp_BLD