aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Innes2000-08-24 11:05:18 +0000
committerAndrew Innes2000-08-24 11:05:18 +0000
commit280d77218f53974f6f7c5d6f86f3825b30da19c2 (patch)
treedcca48d38787d6ad968f7f9571e43df8a09cf221
parent436b261dc589c3032e39554d5dc3c45de7275e3f (diff)
downloademacs-280d77218f53974f6f7c5d6f86f3825b30da19c2.tar.gz
emacs-280d77218f53974f6f7c5d6f86f3825b30da19c2.zip
New file.
-rwxr-xr-xnt/configure.bat346
-rw-r--r--nt/gmake.defs220
-rw-r--r--nt/makefile.w32-in128
-rw-r--r--nt/nmake.defs213
-rw-r--r--src/makefile.w32-in1166
5 files changed, 2073 insertions, 0 deletions
diff --git a/nt/configure.bat b/nt/configure.bat
new file mode 100755
index 00000000000..7d644fd840b
--- /dev/null
+++ b/nt/configure.bat
@@ -0,0 +1,346 @@
1@echo off
2rem ----------------------------------------------------------------------
3rem Configuration script for MS Windows 95/98 and NT/2000
4rem Copyright (C) 1999, 2000 Free Software Foundation, Inc.
5
6rem This file is part of GNU Emacs.
7
8rem GNU Emacs is free software; you can redistribute it and/or modify
9rem it under the terms of the GNU General Public License as published by
10rem the Free Software Foundation; either version 2, or (at your option)
11rem any later version.
12
13rem GNU Emacs is distributed in the hope that it will be useful,
14rem but WITHOUT ANY WARRANTY; without even the implied warranty of
15rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16rem GNU General Public License for more details.
17
18rem You should have received a copy of the GNU General Public License
19rem along with GNU Emacs; see the file COPYING. If not, write to the
20rem Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21rem Boston, MA 02111-1307, USA.
22rem ----------------------------------------------------------------------
23rem YOU'LL NEED THE FOLLOWING UTILITIES TO MAKE EMACS:
24rem
25rem + MS Windows 95/98 or NT/2000
26rem + either MSVC 2.x or later, or gcc-2.95 or later (with gmake 3.75
27rem or later) and the Mingw32 and W32 API headers and libraries
28rem
29rem For reference, here is a list of which builds of gmake are known to
30rem work or not, and whether they work in the presence and/or absence of
31rem sh.exe.
32rem
33rem sh exists no sh
34rem cygwin b20.1 make (3.75): okay[1] fails[2]
35rem MSVC compiled gmake 3.77: okay okay
36rem MSVC compiled gmake 3.78.1: okay okay
37rem MSVC compiled gmake 3.79.1: okay okay
38rem mingw32/gcc-2.92.2 make (3.77): okay okay
39rem cygwin compiled gmake 3.77: okay[1] fails[2]
40rem cygwin compiled gmake 3.78.1: okay fails[2]
41rem cygwin compiled gmake 3.79.1: couldn't build make[3]
42rem
43rem [1] doesn't cope with makefiles with DOS line endings, so must mount
44rem emacs source with text!=binary.
45rem [2] fails when needs to invoke shell commands; okay invoking gcc etc.
46rem [3] requires LC_MESSAGES support to build; maybe 2.95.x update to
47rem cygwin provides this?
48rem
49
50rem ----------------------------------------------------------------------
51rem See if the environment is large enough. We need 43 (?) bytes.
52set $foo$=123456789_123456789_123456789_123456789_123
53if not "%$foo$%" == "123456789_123456789_123456789_123456789_123" goto SmallEnv
54set $foo$=
55
56rem ----------------------------------------------------------------------
57rem Make sure we are running in the nt subdir
58if exist configure.bat goto start
59echo You must run configure from the nt subdirectory.
60goto end
61
62:start
63rem ----------------------------------------------------------------------
64rem Default settings.
65set prefix=
66set nodebug=N
67set noopt=N
68set nocygwin=N
69set COMPILER=
70set usercflags=
71set userldflags=
72set sep1=
73set sep2=
74
75rem ----------------------------------------------------------------------
76rem Handle arguments.
77:again
78if "%1" == "-h" goto usage
79if "%1" == "--help" goto usage
80if "%1" == "--prefix" goto setprefix
81if "%1" == "--with-gcc" goto withgcc
82if "%1" == "--with-msvc" goto withmsvc
83if "%1" == "--no-debug" goto nodebug
84if "%1" == "--no-opt" goto noopt
85if "%1" == "--no-cygwin" goto nocygwin
86if "%1" == "--cflags" goto usercflags
87if "%1" == "--ldflags" goto userldflags
88if "%1" == "" goto checkutils
89:usage
90echo Usage: configure [options]
91echo Options:
92echo. --prefix PREFIX install Emacs in directory PREFIX
93echo. --with-gcc use GCC to compile Emacs
94echo. --with-msvc use MSVC to compile Emacs
95echo. --no-debug exclude debug info from executables
96echo. --no-opt disable optimization
97echo. --no-cygwin use -mno-cygwin option with GCC
98echo. --cflags FLAG pass FLAG to compiler
99echo. --ldflags FLAG pass FLAG to compiler when linking
100goto end
101rem ----------------------------------------------------------------------
102:setprefix
103shift
104set prefix=%1
105shift
106goto again
107rem ----------------------------------------------------------------------
108:withgcc
109set COMPILER=gcc
110shift
111goto again
112rem ----------------------------------------------------------------------
113:withmsvc
114set COMPILER=cl
115shift
116goto again
117rem ----------------------------------------------------------------------
118:nodebug
119set nodebug=Y
120shift
121goto again
122rem ----------------------------------------------------------------------
123:noopt
124set noopt=Y
125shift
126goto again
127rem ----------------------------------------------------------------------
128:nocygwin
129set nocygwin=Y
130shift
131goto again
132rem ----------------------------------------------------------------------
133:usercflags
134shift
135set usercflags=%usercflags%%sep1%%1
136set sep1= %nothing%
137shift
138goto again
139rem ----------------------------------------------------------------------
140:userldflags
141shift
142set userldflags=%userldflags%%sep2%%1
143set sep2= %nothing%
144shift
145goto again
146
147rem ----------------------------------------------------------------------
148rem Check that necessary utilities (cp and rm) are present.
149:checkutils
150echo Checking for 'cp'...
151cp configure.bat junk.bat
152if not exist junk.bat goto needcp
153echo Checking for 'rm'...
154rm junk.bat
155if exist junk.bat goto needrm
156goto checkcompiler
157:needcp
158echo You need 'cp' (the Unix file copy program) to build Emacs.
159goto end
160:needrm
161del junk.bat
162echo You need 'rm' (the Unix file delete program) to build Emacs.
163goto end
164
165rem ----------------------------------------------------------------------
166rem Auto-detect compiler if not specified, and validate GCC if chosen.
167:checkcompiler
168if (%COMPILER%)==(cl) goto genmakefiles
169if (%COMPILER%)==(gcc) goto checkgcc
170
171echo Checking whether 'cl' is available...
172echo main(){} >junk.c
173cl -nologo -c junk.c
174if exist junk.obj goto clOK
175
176echo Checking whether 'gcc' is available...
177gcc -c junk.c
178if not exist junk.o goto nocompiler
179del junk.o
180
181:checkgcc
182if (%nocygwin%) == (Y) goto checkw32api
183echo Checking whether gcc requires '-mno-cygwin'...
184echo #include "cygwin/version.h" >junk.c
185echo main(){} >>junk.c
186gcc -c junk.c
187if not exist junk.o goto checkw32api
188gcc -mno-cygwin -c junk.c
189if exist junk.o set nocygwin=Y
190del junk.o junk.c
191
192:checkw32api
193rem ----------------------------------------------------------------------
194rem Older versions of the Windows API headers either don't have any of
195rem the IMAGE_xxx definitions (the headers that come with Cygwin b20.1
196rem are like this), or have a typo in the definition of
197rem IMAGE_FIRST_SECTION (the headers with gcc/mingw32 2.95 have this
198rem problem). The gcc/mingw32 2.95.2 headers are okay, as are distros
199rem of w32api-xxx.zip from Anders Norlander since 1999-11-18 at least.
200rem
201echo Checking whether W32 API headers are too old...
202echo #include "windows.h" >junk.c
203echo test(PIMAGE_NT_HEADERS pHeader)>>junk.c
204echo {PIMAGE_SECTION_HEADER pSection = IMAGE_FIRST_SECTION(pHeader);}>>junk.c
205gcc -c junk.c
206if exist junk.o goto gccOk
207
208:nocompiler
209echo.
210echo Configure failed.
211echo To configure Emacs for Windows, you need to have either
212echo gcc-2.95 or later with Mingw32 and the W32 API headers,
213echo or MSVC 2.x or later.
214del junk.c
215goto end
216
217:gccOk
218set COMPILER=gcc
219del junk.c junk.o
220echo Using 'gcc'
221goto genmakefiles
222
223:clOk
224set COMPILER=cl
225del junk.c junk.obj
226echo Using 'MSVC'
227goto genmakefiles
228
229rem ----------------------------------------------------------------------
230:genmakefiles
231echo Generating makefiles
232if %COMPILER% == gcc set MAKECMD=gmake
233if %COMPILER% == cl set MAKECMD=nmake
234
235rem Pass on chosen settings to makefiles.
236echo # Start of settings from configure.bat >config.settings
237echo COMPILER=%COMPILER% >>config.settings
238if (%nodebug%) == (Y) echo NODEBUG=1 >>config.settings
239if (%noopt%) == (Y) echo NOOPT=1 >>config.settings
240if (%nocygwin%) == (Y) echo NOCYGWIN=1 >>config.settings
241if not "(%prefix%)" == "()" echo INSTALL_DIR=%prefix% >>config.settings
242if not "(%usercflags%)" == "()" echo USER_CFLAGS=%usercflags% >>config.settings
243if not "(%userldflags%)" == "()" echo USER_LDFLAGS=%userldflags% >>config.settings
244echo # End of settings from configure.bat >>config.settings
245echo. >>config.settings
246
247copy config.nt ..\src\config.h
248if not "(%usercflags%)" == "()" echo #define USER_CFLAGS " %usercflags%">>..\src\config.h
249if not "(%userldflags%)" == "()" echo #define USER_LDFLAGS " %userldflags%">>..\src\config.h
250copy paths.h ..\src\epaths.h
251
252rem gmake doesn't support "cd foo" in commands (except as part of a
253rem compound statement which command.com doesn't support), but nmake
254rem doesn't support the -C dir command line switch, so generate the
255rem necessary makefile fragment for targets that involve changing dir.
256rem
257if %MAKECMD% == nmake goto gen1
258
259echo. > make-frag
260echo all-other-dirs: >> make-frag
261echo. $(MAKE) -C ../lib-src all >> make-frag
262echo. $(MAKE) -C ../src all >> make-frag
263echo. $(MAKE) -C ../lisp all >> make-frag
264echo. $(MAKE) -C ../leim all >> make-frag
265echo. >> make-frag
266echo clean-other-dirs: >> make-frag
267echo. $(MAKE) -C ../lib-src clean >> make-frag
268echo. $(MAKE) -C ../src clean >> make-frag
269echo. $(MAKE) -C ../lisp clean >> make-frag
270echo. $(MAKE) -C ../leim clean >> make-frag
271echo. >> make-frag
272echo install-other-dirs: >> make-frag
273echo. $(MAKE) -C ../lib-src install >> make-frag
274echo. $(MAKE) -C ../src install >> make-frag
275echo. $(MAKE) -C ../lisp install >> make-frag
276echo. $(MAKE) -C ../leim install >> make-frag
277echo. >> make-frag
278goto gen2
279
280:gen1
281echo. > make-frag
282echo all-other-dirs: >> make-frag
283echo. cd ..\lib-src >> make-frag
284echo. $(MAKE) all >> make-frag
285echo. cd ..\src >> make-frag
286echo. $(MAKE) all >> make-frag
287echo. cd ..\lisp >> make-frag
288echo. $(MAKE) all >> make-frag
289echo. cd ..\leim >> make-frag
290echo. $(MAKE) all >> make-frag
291echo. cd ..\nt >> make-frag
292echo. >> make-frag
293echo clean-other-dirs: >> make-frag
294echo. cd ..\lib-src >> make-frag
295echo. $(MAKE) clean >> make-frag
296echo. cd ..\src >> make-frag
297echo. $(MAKE) clean >> make-frag
298echo. cd ..\lisp >> make-frag
299echo. $(MAKE) clean >> make-frag
300echo. cd ..\leim >> make-frag
301echo. $(MAKE) clean >> make-frag
302echo. cd ..\nt >> make-frag
303echo. >> make-frag
304echo install-other-dirs: >> make-frag
305echo. cd ..\lib-src >> make-frag
306echo. $(MAKE) install >> make-frag
307echo. cd ..\src >> make-frag
308echo. $(MAKE) install >> make-frag
309echo. cd ..\lisp >> make-frag
310echo. $(MAKE) install >> make-frag
311echo. cd ..\leim >> make-frag
312echo. $(MAKE) install >> make-frag
313echo. cd ..\nt >> make-frag
314echo. >> make-frag
315
316:gen2
317copy /b config.settings+%MAKECMD%.defs+make-frag+..\nt\makefile.w32-in ..\nt\makefile
318del make-frag
319copy /b config.settings+%MAKECMD%.defs+..\lib-src\makefile.w32-in ..\lib-src\makefile
320copy /b config.settings+%MAKECMD%.defs+..\src\makefile.w32-in ..\src\makefile
321if not exist ..\lisp\Makefile.unix rename ..\lisp\Makefile Makefile.unix
322if exist ..\lisp\makefile del /f ..\lisp\makefile
323copy /b config.settings+%MAKECMD%.defs+..\lisp\makefile.w32-in ..\lisp\makefile
324rem Use the default (no-op) Makefile.in if the nt version is not present.
325if exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\makefile.w32-in ..\leim\makefile
326if not exist ..\leim\makefile.w32-in copy /b config.settings+%MAKECMD%.defs+..\leim\Makefile.in ..\leim\makefile
327del config.settings
328
329echo.
330echo Emacs successfully configured.
331echo Run `%MAKECMD%' to build, then run `%MAKECMD% install' to install.
332goto end
333
334:SmallEnv
335echo Your environment size is too small. Please enlarge it and rerun configure.
336echo For example, type "command.com /e:2048" to have 2048 bytes available.
337set $foo$=
338:end
339set prefix=
340set nodebug=
341set noopt=
342set nocygwin=
343set COMPILER=
344set MAKECMD=
345set usercflags=
346set userldflags=
diff --git a/nt/gmake.defs b/nt/gmake.defs
new file mode 100644
index 00000000000..2517b31cf0b
--- /dev/null
+++ b/nt/gmake.defs
@@ -0,0 +1,220 @@
1#
2# Makefile definition file for building GNU Emacs on Windows NT
3#
4# GNU Emacs is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 2, or (at your option)
7# any later version.
8#
9# GNU Emacs is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with GNU Emacs; see the file COPYING. If not, write to
16# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17# Boston, MA 02111-1307, USA.
18
19# Ensure 'all' is the default target
20all:
21
22# NOTES
23#
24# I tried to force gmake to use the native shell for simplicity, by
25# setting SHELL as below, but this didn't work reliably because of
26# various case sensitivity niggles. Specifically, COMSPEC (which is in
27# fact usually spelled ComSpec on NT, to make life difficult) typically
28# references "cmd.exe" (on NT) when the file is actually called
29# "CMD.EXE" on disk for hysterical raisons. As a result, GNU make
30# thinks it doesn't exist (unless compiled with a switch to ignore
31# case), and so doesn't change which shell it will invoke to execute
32# commands.
33#
34# It would be possible, though very tedious using just gmake facilities,
35# to convert the COMSPEC value to uppercase to solve this problem, but
36# it isn't worth it. That is partly because, even when using the native
37# shell, gmake tends to not be happy with backslashes in command
38# strings. The obvious solution is to use forward slashes as much as
39# possible, which can be made to work most of the time (putting
40# filenames in quotes often helps), but there are still some internal
41# cmd.exe commands like `del' and `copy' that won't work with them.
42# Although it is possible to convert slashes to backslashes when
43# necessary, gmake requires explicitly calling its subst function, which
44# nmake does not understand). For this reason, it is simplest to
45# mandate that rm and cp be available, so we can use Unix-format file
46# names everywhere. (Fortunately both MS and GNU make, and the
47# respective compilers, are happy with Unix-format names.)
48#
49# Since we cannot easily force the choice of a particular shell, we must
50# make the effort to cope with whichever shell is being used.
51# Fortunately, the only command we need to use that is shell specific is
52# the testing of a file's existence for the purpose of working out when
53# we are copying files to their original location. That particular
54# requirement is abstracted easily enough.
55#
56# The only other problem area was the change of directory when running
57# temacs to dump emacs.exe (where gmake doesn't support cd foo in any
58# useful way), but that has been resolved by modifying the Windows
59# unexec function slightly to not require the directory change while
60# still allowing objects and binaries to be in subdirectories.
61
62# This doesn't work.
63#SHELL:=$(COMSPEC)
64
65# Determine whether make is using sh or cmd/command as shell; cmd.exe
66# will output "ECHO is on" when echo is given by itself, while sh will
67# not produce any output.
68sh_output := $(shell echo)
69ifeq "$(findstring ECHO, $(sh_output))" "ECHO"
70THE_SHELL = $(COMSPEC)$(ComSpec)
71else
72USING_SH = 1
73THE_SHELL = $(SHELL)
74endif
75
76MAKEDIR = $(CURDIR)
77ALL_DEPS = $^
78EMPTY =
79SPACE = $(EMPTY) $(EMPTY)
80
81SUBSYSTEM_WINDOWS=-Wl,-subsystem,windows
82SUBSYSTEM_CONSOLE=-Wl,-subsystem,console
83
84# INSTALL_DIR is the directory into which emacs will be installed.
85#
86ifndef INSTALL_DIR
87INSTALL_DIR = $(MAKEDIR)/..
88endif
89
90# Determine the architecture we're running on.
91# Define ARCH for our purposes;
92# Define CPU for use by ntwin32.mak;
93# Define CONFIG_H to the appropriate config.h for the system;
94#
95ifdef PROCESSOR_ARCHITECTURE
96# We're on Windows NT
97CPU = $(PROCESSOR_ARCHITECTURE)
98CONFIG_H = config.nt
99OS_TYPE = windowsnt
100 ifeq "$(PROCESSOR_ARCHITECTURE)" "x86"
101ARCH = i386
102CPU = i386
103 else
104 ifeq "$(PROCESSOR_ARCHITECTURE)" "MIPS"
105ARCH = mips
106 else
107 ifeq "$(PROCESSOR_ARCHITECTURE)" "ALPHA"
108ARCH = alpha
109 else
110 ifeq "$(PROCESSOR_ARCHITECTURE)" "PPC"
111ARCH = ppc
112 else
113error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
114 endif
115 endif
116 endif
117 endif
118else
119# We're on Windows 95
120ARCH = i386
121CPU = i386
122CONFIG_H = config.nt
123OS_TYPE = windows95
124endif
125
126AR = ar -rsc
127AR_OUT =
128CC = gcc
129CC_OUT = -o$(SPACE)
130LINK = gcc
131LINK_OUT = -o$(SPACE)
132RC = windres -O coff
133RC_OUT = -o$(SPACE)
134RC_INCLUDE = --include-dir$(SPACE)
135
136libc =
137baselibs =
138O = o
139A = a
140
141BASE_LIBS = $(libc) $(baselibs)
142
143ADVAPI32 = -ladvapi32
144COMDLG32 = -lcomdlg32
145GDI32 = -lgdi32
146MPR = -lmpr
147SHELL32 = -lshell32
148USER32 = -luser32
149WSOCK32 = -lwsock32
150
151ifdef NOOPT
152DEBUG_CFLAGS = -DEMACSDEBUG
153else
154DEBUG_CFLAGS =
155endif
156CFLAGS = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \
157 -D_CRTAPI1=_cdecl -D_ANONYMOUS_UNION -D_ANONYMOUS_STRUCT \
158 $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
159EMACS_EXTRA_C_FLAGS = -DUSE_CRT_DLL=1 -DORDINARY_LINK=1
160
161# see comments in allocate_heap in w32heap.c before changing any of the
162# -stack, -heap, or -image-base settings.
163TEMACS_EXTRA_LINK = -Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -g $(SUBSYSTEM_CONSOLE) -Wl,-entry,__start -Wl,-Map,$(BLD)/temacs.map
164
165ifdef NOOPT
166OBJDIR = oo
167else
168OBJDIR = oo-spd
169endif
170$(OBJDIR):; -mkdir "$(OBJDIR)"
171BLD = $(OBJDIR)/$(ARCH)
172$(BLD): $(OBJDIR)
173 -mkdir "$(BLD)"
174
175CP = cp -f
176CP_DIR = cp -rf
177DEL = rm
178DEL_TREE = rm -r
179ifdef USING_SH
180IFNOTSAMEDIR = if [ ! -s ../same-dir.tst ] ; then
181ENDIF = ; fi
182else
183IFNOTSAMEDIR = if not exist ../same-dir.tst
184ENDIF =
185endif
186
187# The location of the icon file
188EMACS_ICON_PATH = ../nt/emacs.ico
189
190ifdef NODEBUG
191DEBUG_FLAG =
192else
193DEBUG_FLAG = -g
194endif
195
196ifdef NOCYGWIN
197NOCYGWIN = -mno-cygwin
198endif
199
200ifeq "$(ARCH)" "i386"
201ifdef NOOPT
202ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN)
203else
204ARCH_CFLAGS = -D_X86_=1 -c $(DEBUG_FLAG) $(NOCYGWIN) -O -Os \
205 -mcpu=i686 -fno-exceptions -fbuiltins \
206 # -mpreferred-stack-boundary=2 \
207 # -finline-functions \
208 # -fomit-frame-pointer
209endif
210ARCH_LDFLAGS = $(SYS_LDFLAGS)
211else
212ERROR Unknown architecture type "$(ARCH)".
213endif
214
215LINK_FLAGS = $(ARCH_LDFLAGS) $(NOCYGWIN) $(USER_LDFLAGS)
216
217.DEFAULT:
218
219$(BLD)/%.o: %.c
220 $(CC) $(CFLAGS) $(CC_OUT)$@ $<
diff --git a/nt/makefile.w32-in b/nt/makefile.w32-in
new file mode 100644
index 00000000000..21f033ba7ed
--- /dev/null
+++ b/nt/makefile.w32-in
@@ -0,0 +1,128 @@
1#
2# Top level makefile for building GNU Emacs on Windows NT
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 2, or (at your option)
9# 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; see the file COPYING. If not, write to
18# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19# Boston, MA 02111-1307, USA.
20
21ALL = addpm ddeclient runemacs cmdproxy addsection preprep
22
23.PHONY: $(ALL)
24
25TRES = $(BLD)/emacs.res
26
27addpm: $(BLD) $(BLD)/addpm.exe
28$(BLD)/addpm.exe: $(BLD)/addpm.$(O)
29 $(LINK) $(LINK_OUT)$@ \
30 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
31
32ddeclient: $(BLD) $(BLD)/ddeclient.exe
33$(BLD)/ddeclient.exe: $(BLD)/ddeclient.$(O)
34 $(LINK) $(LINK_OUT)$@ \
35 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
36
37cmdproxy: $(BLD) $(BLD)/cmdproxy.exe
38$(BLD)/cmdproxy.exe: $(BLD)/cmdproxy.$(O)
39 $(LINK) $(LINK_OUT)$@ \
40 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
41
42addsection: $(BLD) $(BLD)/addsection.exe
43$(BLD)/addsection.exe: $(BLD)/addsection.$(O)
44 $(LINK) $(LINK_OUT)$@ \
45 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(USER32)
46
47preprep: $(BLD) $(BLD)/preprep.exe
48$(BLD)/preprep.exe: $(BLD)/preprep.$(O)
49 $(LINK) $(LINK_OUT)$@ \
50 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS)
51
52#
53# The resource file. NT 3.10 requires the use of cvtres; even though
54# it is not necessary on later versions, it is still ok to use it.
55#
56$(TRES): emacs.rc
57 $(RC) $(RC_OUT)$(BLD)/emacs.res $(ALL_DEPS)
58
59runemacs: $(BLD) $(BLD)/runemacs.exe
60$(BLD)/runemacs.exe: $(BLD)/runemacs.$(O) $(TRES)
61 $(LINK) $(LINK_OUT)$@ $(SUBSYSTEM_WINDOWS) \
62 $(LINK_FLAGS) $(ALL_DEPS) $(BASE_LIBS) $(ADVAPI32) $(USER32)
63
64which-sh:
65 @echo Using $(THE_SHELL) as shell.
66
67#
68# Build emacs
69#
70all: which-sh $(BLD) $(ALL) all-other-dirs
71
72$(INSTALL_DIR):
73 - mkdir "$(INSTALL_DIR)"
74
75$(INSTALL_DIR)/bin:
76 - mkdir "$(INSTALL_DIR)/bin"
77
78#
79# Build and install emacs in INSTALL_DIR
80#
81install: all $(INSTALL_DIR)/bin install-other-dirs
82 - $(CP) $(BLD)/addpm.exe $(INSTALL_DIR)/bin
83 - $(CP) $(BLD)/ddeclient.exe $(INSTALL_DIR)/bin
84 - $(CP) $(BLD)/cmdproxy.exe $(INSTALL_DIR)/bin
85 - $(CP) $(BLD)/runemacs.exe $(INSTALL_DIR)/bin
86 - $(CP) ../lib-src/fns-*.el $(INSTALL_DIR)/bin
87 - "$(INSTALL_DIR)/bin/addpm" /q
88 - $(DEL) ../same-dir.tst
89 - $(DEL) $(INSTALL_DIR)/same-dir.tst
90 - mkdir "$(INSTALL_DIR)/etc/icons"
91 - $(CP_DIR) icons $(INSTALL_DIR)/etc/icons
92 echo SameDirTest > "$(INSTALL_DIR)/same-dir.tst"
93 $(IFNOTSAMEDIR) $(MAKE) real_install $(ENDIF)
94 - $(DEL) ../same-dir.tst
95 - $(DEL) $(INSTALL_DIR)/same-dir.tst
96
97real_install:
98 - $(DEL) ../same-dir.tst
99 - $(DEL) $(INSTALL_DIR)/same-dir.tst
100 echo SameDirTest > $(INSTALL_DIR)/same-dir.tst
101 - mkdir "$(INSTALL_DIR)/etc"
102 - mkdir "$(INSTALL_DIR)/info"
103 - mkdir "$(INSTALL_DIR)/lock"
104 - mkdir "$(INSTALL_DIR)/data"
105 - mkdir "$(INSTALL_DIR)/site-lisp"
106 - mkdir "$(INSTALL_DIR)/etc/icons"
107 - $(CP_DIR) icons $(INSTALL_DIR)/etc/icons
108 $(IFNOTSAMEDIR) $(CP_DIR) ../etc $(INSTALL_DIR)/etc $(ENDIF)
109 $(IFNOTSAMEDIR) $(CP_DIR) ../info $(INSTALL_DIR)/info $(ENDIF)
110 - $(DEL) ../same-dir.tst
111 - $(DEL) $(INSTALL_DIR)/same-dir.tst
112
113#
114# Maintenance
115#
116clean: clean-other-dirs
117 - $(DEL) *~ *.pdb
118 - $(DEL_TREE) $(OBJDIR)
119 - $(DEL) ../etc/DOC ../etc/DOC-X
120
121cleanall: clean
122 - $(DEL_TREE) obj
123 - $(DEL_TREE) obj-spd
124 - $(DEL_TREE) oo
125 - $(DEL_TREE) oo-spd
126
127realclean: cleanall
128 - $(DEL_TREE) ../bin
diff --git a/nt/nmake.defs b/nt/nmake.defs
new file mode 100644
index 00000000000..66291c0a9e3
--- /dev/null
+++ b/nt/nmake.defs
@@ -0,0 +1,213 @@
1#
2# Makefile definition file for building GNU Emacs on Windows NT
3#
4# GNU Emacs is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 2, or (at your option)
7# any later version.
8#
9# GNU Emacs is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with GNU Emacs; see the file COPYING. If not, write to
16# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17# Boston, MA 02111-1307, USA.
18
19# Ensure 'all' is the default target
20all:
21
22THE_SHELL = $(COMSPEC)
23
24ALL_DEPS = $**
25
26SUBSYSTEM_WINDOWS=-subsystem:windows
27SUBSYSTEM_CONSOLE=-subsystem:console
28
29# INSTALL_DIR is the directory into which emacs will be installed.
30#
31!ifndef INSTALL_DIR
32INSTALL_DIR = $(MAKEDIR)/..
33!endif
34
35# Allow detection of builds with MSVC 5 or later, so we can
36# speed up compiles (see rule at end).
37#
38_NMAKE_VER_5=162
39_NMAKE_VER_4=0
40
41!IFNDEF _NMAKE_VER
42_NMAKE_VER=$(_NMAKE_VER_4)
43!ENDIF
44
45# Check that the INCLUDE and LIB environment variables are set.
46#
47!ifndef INCLUDE
48!error The INCLUDE environment variable needs to be set.
49!endif
50!ifndef LIB
51!error The LIB environment variable needs to be set.
52!endif
53
54# Determine the architecture we're running on.
55# Define ARCH for our purposes;
56# Define CPU for use by ntwin32.mak;
57# Define CONFIG_H to the appropriate config.h for the system;
58#
59!ifdef PROCESSOR_ARCHITECTURE
60# We're on Windows NT
61CPU = $(PROCESSOR_ARCHITECTURE)
62CONFIG_H = config.nt
63OS_TYPE = windowsnt
64! if "$(PROCESSOR_ARCHITECTURE)" == "x86"
65ARCH = i386
66CPU = i386
67! else
68! if "$(PROCESSOR_ARCHITECTURE)" == "MIPS"
69ARCH = mips
70! else
71! if "$(PROCESSOR_ARCHITECTURE)" == "ALPHA"
72ARCH = alpha
73! else
74! if "$(PROCESSOR_ARCHITECTURE)" == "PPC"
75ARCH = ppc
76! else
77! error Unknown architecture type "$(PROCESSOR_ARCHITECTURE)"
78! endif
79! endif
80! endif
81! endif
82!else
83# We're on Windows 95
84ARCH = i386
85CPU = i386
86CONFIG_H = config.nt
87OS_TYPE = windows95
88!endif
89
90AR = lib
91AR_OUT = -out:
92CC = cl
93CC_OUT = -Fo
94LINK = link
95LINK_OUT = -out:
96RC = rc
97RC_OUT = -Fo
98RC_INCLUDE = -i
99
100libc = libc.lib
101baselibs =
102O = obj
103A = lib
104
105BASE_LIBS = $(libc) $(baselibs) oldnames.lib
106
107ADVAPI32 = advapi32.lib
108COMDLG32 = comdlg32.lib
109GDI32 = gdi32.lib
110MPR = mpr.lib
111SHELL32 = shell32.lib
112USER32 = user32.lib
113WSOCK32 = wsock32.lib
114
115!ifdef NOOPT
116DEBUG_CFLAGS = -DEMACSDEBUG
117!else
118DEBUG_CFLAGS =
119!endif
120CFLAGS = -I. -DWIN32_LEAN_AND_MEAN $(ARCH_CFLAGS) -D$(ARCH) \
121 -D_CRTAPI1=_cdecl -D_ANONYMOUS_UNION -D_ANONYMOUS_STRUCT \
122 $(DEBUG_CFLAGS) $(USER_CFLAGS) $(LOCAL_FLAGS)
123EMACS_EXTRA_C_FLAGS =
124
125SYS_LDFLAGS = -release -incremental:no -version:3.10 -swaprun:cd -swaprun:net
126
127# see comments in allocate_heap in w32heap.c before changing any of the
128# -stack, -heap, or -base settings.
129TEMACS_EXTRA_LINK = -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -debugtype:both -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) $(SUBSYSTEM_CONSOLE) -entry:_start -map:$(BLD)\temacs.map $(EXTRA_LINK)
130
131!ifdef NOOPT
132OBJDIR = obj
133!else
134OBJDIR = obj-spd
135!endif
136$(OBJDIR):; -mkdir $(OBJDIR)
137BLD = $(OBJDIR)/$(ARCH)
138$(BLD): $(OBJDIR)
139 -mkdir "$(BLD)"
140
141CP = cp -f
142CP_DIR = cp -rf
143IFNOTSAMEDIR = if not exist ..\same-dir.tst
144ENDIF =
145DEL = rm
146DEL_TREE = rm -r
147
148# The location of the icon file
149EMACS_ICON_PATH = ../nt/emacs.ico
150
151!ifdef NODEBUG
152DEBUG_FLAG =
153!else
154DEBUG_FLAG = -Zi
155!endif
156
157!if "$(ARCH)" == "i386"
158!ifdef NOOPT
159ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Od -G3d -Zp8 $(DEBUG_FLAG)
160!else
161ARCH_CFLAGS = -nologo -D_X86_=1 -c -Zel -W2 -H63 -Oxsb2 -Oy- -G6dF -Zp8 $(DEBUG_FLAG)
162!endif
163ARCH_LDFLAGS = $(SYS_LDFLAGS)
164
165!else
166!if "$(ARCH)" == "mips"
167ARCH_CFLAGS = -D_MIPS_=1 -c -W2 -Zi -Od -Gt0
168ARCH_LDFLAGS = $(SYS_LDFLAGS)
169
170!else
171!if "$(ARCH)" == "alpha"
172!if "$(BUILD_TYPE)" == "spd"
173ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -Od -D__stdcall= -D__cdecl=
174!else
175ARCH_CFLAGS = -D_ALPHA_=1 -c -Ze -Zi -W2 -O1 -D__stdcall= -D__cdecl=
176!endif
177ARCH_LDFLAGS = $(SYS_LDFLAGS)
178
179!else
180!if "$(ARCH)" == "ppc"
181# These flags are a guess...if they don't work, please send me mail.
182ARCH_CFLAGS = -D_PPC_=1 -c -Ze -Zi -W2 -Od
183ARCH_LDFLAGS = $(SYS_LDFLAGS)
184
185!else
186!ERROR Unknown architecture type "$(ARCH)".
187!endif
188!endif
189!endif
190!endif
191
192LINK_FLAGS = $(ARCH_LDFLAGS) $(USER_LDFLAGS)
193
194# From MSVC 5.0 onwards, it seem base relocation information is not included,
195# at least in release builds. We need to ensure the reloc info is included
196# in order to use the MSVC profiler.
197!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
198EXTRA_LINK =
199!ELSE
200EXTRA_LINK = -profile
201!ENDIF
202
203#
204# If the compiler supports compiling multiple .c files to .o files at
205# one time, use this feature.
206#
207!IF ("$(_NMAKE_VER)" == "$(_NMAKE_VER_4)")
208.c{$(BLD)}.obj:
209 $(CC) $(CFLAGS) -Fo$(BLD)\ $<
210!ELSE
211.c{$(BLD)}.obj::
212 $(CC) $(CFLAGS) -Fo$(BLD)\ $<
213!ENDIF
diff --git a/src/makefile.w32-in b/src/makefile.w32-in
new file mode 100644
index 00000000000..4208329ebdb
--- /dev/null
+++ b/src/makefile.w32-in
@@ -0,0 +1,1166 @@
1# Makefile for GNU Emacs on the Microsoft W32 API.
2# Copyright (c) 1992-2000 Free Software Foundation, Inc.
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 2, or (at your option)
9# 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; see the file COPYING. If not, write to the
18# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19# Boston, MA 02111-1307, USA.
20#
21
22ALL = emacs
23
24.PHONY: $(ALL)
25
26#
27# HAVE_CONFIG_H is required by some generic gnu sources stuck into
28# the emacs source tree.
29#
30LOCAL_FLAGS = -Demacs=1 -DWINDOWSNT -DDOS_NT -DHAVE_CONFIG_H -I../nt/inc -D_UCHAR_T -DHAVE_NTGUI=1 $(EMACS_EXTRA_C_FLAGS)
31
32EMACS = $(BLD)/emacs.exe
33TEMACS = $(BLD)/temacs.exe
34TEMACS_TMP = $(BLD)/temacs.bin
35TLIB0 = $(BLD)/temacs0.$(A)
36TLIB1 = $(BLD)/temacs1.$(A)
37TLIBW32 = $(BLD)/temacw32.$(A)
38TOBJ = $(BLD)/firstfile.$(O)
39TRES = $(BLD)/emacs.res
40TLASTLIB = $(BLD)/lastfile.$(A)
41
42FULL_LINK_FLAGS = $(LINK_FLAGS) $(TEMACS_EXTRA_LINK)
43
44#
45# Split up the objects into two sets so that we don't run out of
46# command line space when we link them into a library.
47#
48# Put emacs.$(O) in a separate lib, since we need to have firstfile.$(O)
49# as the "main" object file when linking.
50#
51OBJ0 = $(BLD)/emacs.$(O)
52
53OBJ1 = $(BLD)/abbrev.$(O) \
54 $(BLD)/alloc.$(O) \
55 $(BLD)/alloca.$(O) \
56 $(BLD)/atimer.$(O) \
57 $(BLD)/buffer.$(O) \
58 $(BLD)/bytecode.$(O) \
59 $(BLD)/callint.$(O) \
60 $(BLD)/callproc.$(O) \
61 $(BLD)/casefiddle.$(O) \
62 $(BLD)/cm.$(O) \
63 $(BLD)/cmds.$(O) \
64 $(BLD)/data.$(O) \
65 $(BLD)/dired.$(O) \
66 $(BLD)/dispnew.$(O) \
67 $(BLD)/doc.$(O) \
68 $(BLD)/doprnt.$(O) \
69 $(BLD)/editfns.$(O) \
70 $(BLD)/eval.$(O) \
71 $(BLD)/fileio.$(O) \
72 $(BLD)/filelock.$(O) \
73 $(BLD)/filemode.$(O) \
74 $(BLD)/fns.$(O) \
75 $(BLD)/indent.$(O) \
76 $(BLD)/insdel.$(O) \
77 $(BLD)/keyboard.$(O) \
78 $(BLD)/keymap.$(O) \
79 $(BLD)/lread.$(O) \
80 $(BLD)/macros.$(O) \
81 $(BLD)/marker.$(O) \
82 $(BLD)/minibuf.$(O) \
83 $(BLD)/mocklisp.$(O) \
84 $(BLD)/w32.$(O) \
85 $(BLD)/w32heap.$(O) \
86 $(BLD)/w32inevt.$(O) \
87 $(BLD)/w32proc.$(O) \
88 $(BLD)/w32console.$(O) \
89 $(BLD)/print.$(O) \
90 $(BLD)/process.$(O) \
91 $(BLD)/regex.$(O) \
92 $(BLD)/scroll.$(O) \
93 $(BLD)/search.$(O) \
94 $(BLD)/syntax.$(O) \
95 $(BLD)/sysdep.$(O) \
96 $(BLD)/term.$(O) \
97 $(BLD)/termcap.$(O) \
98 $(BLD)/tparam.$(O) \
99 $(BLD)/undo.$(O) \
100 $(BLD)/unexw32.$(O) \
101 $(BLD)/window.$(O) \
102 $(BLD)/xdisp.$(O) \
103 $(BLD)/casetab.$(O) \
104 $(BLD)/floatfns.$(O) \
105 $(BLD)/frame.$(O) \
106 $(BLD)/gmalloc.$(O) \
107 $(BLD)/intervals.$(O) \
108 $(BLD)/composite.$(O) \
109 $(BLD)/ralloc.$(O) \
110 $(BLD)/textprop.$(O) \
111 $(BLD)/vm-limit.$(O) \
112 $(BLD)/region-cache.$(O) \
113 $(BLD)/strftime.$(O) \
114 $(BLD)/charset.$(O) \
115 $(BLD)/coding.$(O) \
116 $(BLD)/category.$(O) \
117 $(BLD)/ccl.$(O) \
118 $(BLD)/fontset.$(O)
119
120WIN32OBJ = $(BLD)/w32term.$(O) \
121 $(BLD)/w32xfns.$(O) \
122 $(BLD)/w32fns.$(O) \
123 $(BLD)/xfaces.$(O) \
124 $(BLD)/w32select.$(O) \
125 $(BLD)/w32menu.$(O) \
126 $(BLD)/w32reg.$(O) \
127 $(BLD)/w32bdf.$(O)
128
129LIBS = $(TLIB0) \
130 $(TLIB1) \
131 $(TLIBW32) \
132 $(TLASTLIB) \
133 $(ADVAPI32) \
134 $(GDI32) \
135 $(COMDLG32) \
136 $(USER32) \
137 $(MPR) \
138 $(SHELL32) \
139 $(libc)
140
141#
142# Build the executable and dump it.
143#
144all: $(ALL)
145
146#
147# The dumped executable
148#
149emacs: $(BLD) $(EMACS)
150$(EMACS): $(DOC) $(TEMACS)
151 "./$(BLD)/temacs.exe" -batch -l loadup dump
152
153#
154# The undumped executable
155# Note the extra post-link step to insert a static preload heap section.
156# If preload runs out of memory, increase the last argument to addsection
157# (it is the preload heap size in MB).
158#
159temacs: $(BLD) $(TEMACS)
160$(TEMACS): $(TLIB0) $(TLIB1) $(TLIBW32) $(TLASTLIB) $(TOBJ) $(TRES)
161 $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS)
162 "../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP 16
163
164bootstrap: bootstrap-emacs
165
166#
167# Build a temacs with a sufficiently large PURESIZE to load the
168# Lisp files from loadup.el in source form.
169#
170bootstrap-temacs: bootstrap-clean
171 $(MAKECMD) temacs CFLAGS="$(CFLAGS) -DPURESIZE=5000000"
172
173#
174# Dump an Emacs executable named bootstrap-emacs containing the
175# files from loadup.el in source form.
176#
177bootstrap-emacs: bootstrap-temacs
178 "./$(BLD)/temacs.exe" -batch -l loadup bootstrap
179 - mkdir "../bin"
180 $(CP) $(EMACS) ../bin
181
182#
183# Force recompile of files that depend on PURESIZE
184#
185bootstrap-clean:
186 - $(DEL) $(BLD)/alloc.$(O)
187 - $(DEL) $(BLD)/data.$(O)
188 - $(DEL) $(BLD)/intervals.$(O)
189 - $(DEL) $(BLD)/keyboard.$(O)
190 - $(DEL) $(BLD)/keymap.$(O)
191
192#
193# The resource file. NT 3.10 requires the use of cvtres; even though
194# it is not necessary on later versions, it is still ok to use it.
195#
196$(TRES): ../nt/emacs.rc
197 $(RC) $(RC_INCLUDE)../nt $(RC_OUT)$@ $(ALL_DEPS)
198
199#
200# Build the library. Split up the build into two phases...otherwise we
201# run out of command line space.
202#
203$(TLIB0): $(OBJ0)
204 - $(DEL) $@
205 $(AR) $(AR_OUT)$@ $(ALL_DEPS)
206$(TLIB1): $(OBJ1)
207 - $(DEL) $@
208 $(AR) $(AR_OUT)$@ $(ALL_DEPS)
209$(TLIBW32): $(WIN32OBJ)
210 - $(DEL) $@
211 $(AR) $(AR_OUT)$@ $(ALL_DEPS)
212
213#
214# Place lastfile.$(O) in its own library so that it can be loaded after
215# the source libraries but before any system libraries. Doing so defines
216# the end of Emacs' data section portably across compilers and systems.
217#
218$(TLASTLIB): $(BLD)/lastfile.$(O)
219 - $(DEL) $@
220 $(AR) $(AR_OUT)$@ $(ALL_DEPS)
221
222#
223# Assuming INSTALL_DIR is defined, build and install emacs in it.
224#
225install: $(ALL)
226 - mkdir "$(INSTALL_DIR)/bin"
227 $(CP) $(EMACS) $(INSTALL_DIR)/bin
228
229#
230# Maintenance
231#
232clean:; - $(DEL) *~ "s/*~" "m/*~"
233 - $(DEL) *.pdb config.h epaths.h
234 - $(DEL_TREE) $(OBJDIR)
235
236cleanall: clean
237 - $(DEL_TREE) obj
238 - $(DEL_TREE) obj-spd
239 - $(DEL_TREE) oo
240 - $(DEL_TREE) oo-spd
241
242### DEPENDENCIES ###
243
244EMACS_ROOT = ..
245SRC = .
246
247$(BLD)/abbrev.obj : \
248 $(SRC)/abbrev.c \
249 $(EMACS_ROOT)/src/s/ms-w32.h \
250 $(EMACS_ROOT)/src/m/intel386.h \
251 $(EMACS_ROOT)/src/config.h \
252 $(SRC)/commands.h \
253 $(SRC)/buffer.h \
254 $(SRC)/window.h
255
256$(BLD)/alloc.obj : \
257 $(SRC)/alloc.c \
258 $(EMACS_ROOT)/src/s/ms-w32.h \
259 $(EMACS_ROOT)/src/m/intel386.h \
260 $(EMACS_ROOT)/src/config.h \
261 $(SRC)/dispextern.h \
262 $(SRC)/intervals.h \
263 $(SRC)/composite.h \
264 $(SRC)/puresize.h \
265 $(SRC)/buffer.h \
266 $(SRC)/window.h \
267 $(SRC)/frame.h \
268 $(SRC)/blockinput.h \
269 $(SRC)/syssignal.h
270
271$(BLD)/alloca.obj : \
272 $(SRC)/alloca.c \
273 $(EMACS_ROOT)/src/s/ms-w32.h \
274 $(EMACS_ROOT)/src/m/intel386.h \
275 $(EMACS_ROOT)/src/config.h \
276 $(SRC)/s/ms-w32.h \
277 $(SRC)/m/intel386.h \
278 $(SRC)/config.h \
279 $(SRC)/blockinput.h
280
281$(BLD)/atimer.obj : \
282 $(SRC)/atimer.c \
283 $(EMACS_ROOT)/src/s/ms-w32.h \
284 $(EMACS_ROOT)/src/m/intel386.h \
285 $(EMACS_ROOT)/src/config.h \
286 $(SRC)/s/ms-w32.h \
287 $(SRC)/m/intel386.h \
288 $(SRC)/config.h \
289 $(SRC)/atimer.h \
290 $(SRC)/syssignal.h \
291 $(SRC)/systime.h \
292 $(SRC)/blockinput.h
293
294$(BLD)/buffer.obj : \
295 $(SRC)/buffer.c \
296 $(EMACS_ROOT)/nt/inc/sys/param.h \
297 $(EMACS_ROOT)/src/s/ms-w32.h \
298 $(EMACS_ROOT)/src/m/intel386.h \
299 $(EMACS_ROOT)/src/config.h \
300 $(SRC)/dispextern.h \
301 $(SRC)/intervals.h \
302 $(SRC)/composite.h \
303 $(SRC)/frame.h \
304 $(SRC)/window.h \
305 $(SRC)/commands.h \
306 $(SRC)/buffer.h \
307 $(SRC)/indent.h \
308 $(SRC)/blockinput.h \
309 $(SRC)/region-cache.h
310
311$(BLD)/bytecode.obj : \
312 $(SRC)/bytecode.c \
313 $(EMACS_ROOT)/src/s/ms-w32.h \
314 $(EMACS_ROOT)/src/m/intel386.h \
315 $(EMACS_ROOT)/src/config.h \
316 $(SRC)/buffer.h \
317 $(SRC)/syntax.h
318
319$(BLD)/callint.obj : \
320 $(SRC)/callint.c \
321 $(EMACS_ROOT)/src/s/ms-w32.h \
322 $(EMACS_ROOT)/src/m/intel386.h \
323 $(EMACS_ROOT)/src/config.h \
324 $(SRC)/buffer.h \
325 $(SRC)/commands.h \
326 $(SRC)/keyboard.h \
327 $(SRC)/window.h \
328 $(SRC)/mocklisp.h
329
330$(BLD)/callproc.obj : \
331 $(SRC)/callproc.c \
332 $(EMACS_ROOT)/src/s/ms-w32.h \
333 $(EMACS_ROOT)/src/m/intel386.h \
334 $(EMACS_ROOT)/src/config.h \
335 $(SRC)/msdos.h \
336 $(EMACS_ROOT)/nt/inc/sys/param.h \
337 $(SRC)/commands.h \
338 $(SRC)/buffer.h \
339 $(SRC)/process.h \
340 $(SRC)/syssignal.h \
341 $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
342 $(EMACS_ROOT)/nt/inc/sys/file.h \
343 $(SRC)/systty.h
344
345$(BLD)/casefiddle.obj : \
346 $(SRC)/casefiddle.c \
347 $(EMACS_ROOT)/src/s/ms-w32.h \
348 $(EMACS_ROOT)/src/m/intel386.h \
349 $(EMACS_ROOT)/src/config.h \
350 $(SRC)/buffer.h \
351 $(SRC)/commands.h \
352 $(SRC)/syntax.h
353 $(CC) $(CFLAGS) -Fo$@ casefiddle.c
354
355$(BLD)/casetab.obj : \
356 $(SRC)/casetab.c \
357 $(EMACS_ROOT)/src/s/ms-w32.h \
358 $(EMACS_ROOT)/src/m/intel386.h \
359 $(EMACS_ROOT)/src/config.h \
360 $(SRC)/buffer.h
361
362$(BLD)/cm.obj : \
363 $(SRC)/cm.c \
364 $(EMACS_ROOT)/src/s/ms-w32.h \
365 $(EMACS_ROOT)/src/m/intel386.h \
366 $(EMACS_ROOT)/src/config.h \
367 $(SRC)/cm.h \
368 $(SRC)/termhooks.h
369
370$(BLD)/cmds.obj : \
371 $(SRC)/cmds.c \
372 $(EMACS_ROOT)/src/s/ms-w32.h \
373 $(EMACS_ROOT)/src/m/intel386.h \
374 $(EMACS_ROOT)/src/config.h \
375 $(SRC)/commands.h \
376 $(SRC)/buffer.h \
377 $(SRC)/syntax.h
378
379$(BLD)/composite.obj : \
380 $(SRC)/composite.c \
381 $(SRC)/buffer.h \
382 $(SRC)/charset.h \
383 $(SRC)/intervals.h \
384 $(SRC)/composite.h \
385 $(EMACS_ROOT)/src/s/ms-w32.h \
386 $(EMACS_ROOT)/src/m/intel386.h \
387 $(EMACS_ROOT)/src/config.h
388
389$(BLD)/data.obj : \
390 $(SRC)/data.c \
391 $(EMACS_ROOT)/src/s/ms-w32.h \
392 $(EMACS_ROOT)/src/m/intel386.h \
393 $(EMACS_ROOT)/src/config.h \
394 $(SRC)/puresize.h \
395 $(SRC)/buffer.h \
396 $(SRC)/syssignal.h
397
398$(BLD)/dired.obj : \
399 $(SRC)/dired.c \
400 $(EMACS_ROOT)/src/s/ms-w32.h \
401 $(EMACS_ROOT)/src/m/intel386.h \
402 $(EMACS_ROOT)/src/config.h \
403 $(SRC)/vmsdir.h \
404 $(SRC)/ndir.h \
405 $(SRC)/buffer.h \
406 $(SRC)/commands.h \
407 $(SRC)/regex.h
408
409$(BLD)/dispnew.obj : \
410 $(SRC)/dispnew.c \
411 $(EMACS_ROOT)/src/s/ms-w32.h \
412 $(EMACS_ROOT)/src/m/intel386.h \
413 $(EMACS_ROOT)/src/config.h \
414 $(SRC)/termchar.h \
415 $(SRC)/termopts.h \
416 $(SRC)/termhooks.h \
417 $(SRC)/cm.h \
418 $(SRC)/buffer.h \
419 $(SRC)/frame.h \
420 $(SRC)/window.h \
421 $(SRC)/commands.h \
422 $(SRC)/disptab.h \
423 $(SRC)/indent.h \
424 $(SRC)/dispextern.h \
425 $(SRC)/intervals.h \
426 $(SRC)/composite.h \
427 $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
428 $(EMACS_ROOT)/nt/inc/sys/file.h \
429 $(SRC)/systty.h \
430 $(SRC)/w32term.h \
431 $(SRC)/xterm.h \
432 $(SRC)/vmstime.h \
433 $(SRC)/systime.h
434
435$(BLD)/doc.obj : \
436 $(SRC)/doc.c \
437 $(EMACS_ROOT)/src/s/ms-w32.h \
438 $(EMACS_ROOT)/src/m/intel386.h \
439 $(EMACS_ROOT)/src/config.h \
440 $(EMACS_ROOT)/nt/inc/sys/file.h \
441 $(SRC)/buffer.h \
442 $(SRC)/keyboard.h
443
444$(BLD)/doprnt.obj : \
445 $(SRC)/doprnt.c \
446 $(EMACS_ROOT)/src/s/ms-w32.h \
447 $(EMACS_ROOT)/src/m/intel386.h \
448 $(EMACS_ROOT)/src/config.h
449
450$(BLD)/dosfns.obj : \
451 $(SRC)/dosfns.c \
452 $(EMACS_ROOT)/src/s/ms-w32.h \
453 $(EMACS_ROOT)/src/m/intel386.h \
454 $(EMACS_ROOT)/src/config.h \
455 $(SRC)/buffer.h \
456 $(SRC)/termchar.h \
457 $(SRC)/termhooks.h \
458 $(SRC)/frame.h \
459 $(SRC)/dosfns.h \
460 $(SRC)/msdos.h
461
462$(BLD)/editfns.obj : \
463 $(SRC)/editfns.c \
464 $(EMACS_ROOT)/src/s/ms-w32.h \
465 $(EMACS_ROOT)/src/m/intel386.h \
466 $(EMACS_ROOT)/src/config.h \
467 $(SRC)/uaf.h \
468 $(SRC)/vms-pwd.h \
469 $(EMACS_ROOT)/nt/inc/pwd.h \
470 $(SRC)/dispextern.h \
471 $(SRC)/intervals.h \
472 $(SRC)/composite.h \
473 $(SRC)/buffer.h \
474 $(SRC)/window.h \
475 $(SRC)/vmstime.h \
476 $(SRC)/systime.h
477
478$(BLD)/emacs.obj : \
479 $(SRC)/emacs.c \
480 $(EMACS_ROOT)/src/s/ms-w32.h \
481 $(EMACS_ROOT)/src/m/intel386.h \
482 $(EMACS_ROOT)/src/config.h \
483 $(SRC)/commands.h \
484 $(SRC)/dispextern.h \
485 $(SRC)/intervals.h \
486 $(SRC)/composite.h \
487 $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
488 $(EMACS_ROOT)/nt/inc/sys/file.h \
489 $(SRC)/systty.h \
490 $(SRC)/syssignal.h \
491 $(SRC)/process.h
492
493$(BLD)/eval.obj : \
494 $(SRC)/eval.c \
495 $(EMACS_ROOT)/src/s/ms-w32.h \
496 $(EMACS_ROOT)/src/m/intel386.h \
497 $(EMACS_ROOT)/src/config.h \
498 $(SRC)/blockinput.h \
499 $(SRC)/commands.h \
500 $(SRC)/keyboard.h
501
502$(BLD)/fileio.obj : \
503 $(SRC)/fileio.c \
504 $(EMACS_ROOT)/src/s/ms-w32.h \
505 $(EMACS_ROOT)/src/m/intel386.h \
506 $(EMACS_ROOT)/src/config.h \
507 $(SRC)/uaf.h \
508 $(SRC)/vms-pwd.h \
509 $(EMACS_ROOT)/nt/inc/pwd.h \
510 $(SRC)/msdos.h \
511 $(EMACS_ROOT)/nt/inc/sys/param.h \
512 $(SRC)/vmsdir.h \
513 $(SRC)/dispextern.h \
514 $(SRC)/intervals.h \
515 $(SRC)/composite.h \
516 $(SRC)/buffer.h \
517 $(SRC)/window.h \
518 $(EMACS_ROOT)/nt/inc/sys/file.h \
519 $(SRC)/vmstime.h \
520 $(SRC)/systime.h
521
522$(BLD)/filelock.obj : \
523 $(SRC)/filelock.c \
524 $(EMACS_ROOT)/src/s/ms-w32.h \
525 $(EMACS_ROOT)/src/m/intel386.h \
526 $(EMACS_ROOT)/src/config.h \
527 $(SRC)/uaf.h \
528 $(SRC)/vms-pwd.h \
529 $(EMACS_ROOT)/nt/inc/pwd.h \
530 $(EMACS_ROOT)/nt/inc/sys/file.h \
531 $(EMACS_ROOT)/src/epaths.h \
532 $(SRC)/buffer.h \
533 $(SRC)/vmsdir.h \
534 $(SRC)/ndir.h
535
536$(BLD)/filemode.obj : \
537 $(SRC)/filemode.c \
538 $(EMACS_ROOT)/src/s/ms-w32.h \
539 $(EMACS_ROOT)/src/m/intel386.h \
540 $(EMACS_ROOT)/src/config.h \
541 $(SRC)/s/ms-w32.h \
542 $(SRC)/m/intel386.h \
543 $(SRC)/config.h
544
545$(BLD)/firstfile.obj : \
546 $(SRC)/firstfile.c \
547 $(EMACS_ROOT)/src/s/ms-w32.h \
548 $(EMACS_ROOT)/src/m/intel386.h \
549 $(EMACS_ROOT)/src/config.h
550
551$(BLD)/floatfns.obj : \
552 $(SRC)/floatfns.c \
553 $(EMACS_ROOT)/src/s/ms-w32.h \
554 $(EMACS_ROOT)/src/m/intel386.h \
555 $(EMACS_ROOT)/src/config.h \
556 $(SRC)/syssignal.h
557
558$(BLD)/fns.obj : \
559 $(SRC)/fns.c \
560 $(EMACS_ROOT)/src/s/ms-w32.h \
561 $(EMACS_ROOT)/src/m/intel386.h \
562 $(EMACS_ROOT)/src/config.h \
563 $(SRC)/commands.h \
564 $(SRC)/buffer.h \
565 $(SRC)/keyboard.h \
566 $(SRC)/dispextern.h \
567 $(SRC)/intervals.h \
568 $(SRC)/composite.h
569
570$(BLD)/frame.obj : \
571 $(SRC)/frame.c \
572 $(EMACS_ROOT)/src/s/ms-w32.h \
573 $(EMACS_ROOT)/src/m/intel386.h \
574 $(EMACS_ROOT)/src/config.h \
575 $(SRC)/frame.h \
576 $(SRC)/termhooks.h \
577 $(SRC)/window.h \
578 $(SRC)/buffer.h \
579 $(SRC)/commands.h \
580 $(SRC)/keyboard.h
581
582$(BLD)/getloadavg.obj : \
583 $(SRC)/getloadavg.c \
584 $(EMACS_ROOT)/nt/inc/sys/param.h \
585 $(EMACS_ROOT)/src/s/ms-w32.h \
586 $(EMACS_ROOT)/src/m/intel386.h \
587 $(EMACS_ROOT)/src/config.h \
588 $(SRC)/s/ms-w32.h \
589 $(SRC)/m/intel386.h \
590 $(SRC)/config.h \
591 $(EMACS_ROOT)/nt/inc/sys/file.h
592
593$(BLD)/gmalloc.obj : \
594 $(SRC)/gmalloc.c \
595 $(EMACS_ROOT)/src/s/ms-w32.h \
596 $(EMACS_ROOT)/src/m/intel386.h \
597 $(EMACS_ROOT)/src/config.h \
598 $(EMACS_ROOT)/nt/inc/sys/param.h \
599 $(SRC)/getpagesize.h
600 $(CC) $(CFLAGS) -D__STDC__ -Fo$@ gmalloc.c
601
602$(BLD)/hftctl.obj : \
603 $(SRC)/hftctl.c \
604 $(EMACS_ROOT)/src/s/ms-w32.h \
605 $(EMACS_ROOT)/src/m/intel386.h \
606 $(EMACS_ROOT)/src/config.h \
607 $(EMACS_ROOT)/nt/inc/sys/ioctl.h
608
609$(BLD)/indent.obj : \
610 $(SRC)/indent.c \
611 $(EMACS_ROOT)/src/s/ms-w32.h \
612 $(EMACS_ROOT)/src/m/intel386.h \
613 $(EMACS_ROOT)/src/config.h \
614 $(SRC)/buffer.h \
615 $(SRC)/indent.h \
616 $(SRC)/frame.h \
617 $(SRC)/window.h \
618 $(SRC)/termchar.h \
619 $(SRC)/termopts.h \
620 $(SRC)/disptab.h \
621 $(SRC)/dispextern.h \
622 $(SRC)/intervals.h \
623 $(SRC)/region-cache.h \
624 $(SRC)/composite.h
625
626$(BLD)/insdel.obj : \
627 $(SRC)/insdel.c \
628 $(EMACS_ROOT)/src/s/ms-w32.h \
629 $(EMACS_ROOT)/src/m/intel386.h \
630 $(EMACS_ROOT)/src/config.h \
631 $(SRC)/dispextern.h \
632 $(SRC)/intervals.h \
633 $(SRC)/composite.h \
634 $(SRC)/buffer.h \
635 $(SRC)/window.h \
636 $(SRC)/blockinput.h
637
638$(BLD)/intervals.obj : \
639 $(SRC)/intervals.c \
640 $(EMACS_ROOT)/src/s/ms-w32.h \
641 $(EMACS_ROOT)/src/m/intel386.h \
642 $(EMACS_ROOT)/src/config.h \
643 $(SRC)/dispextern.h \
644 $(SRC)/intervals.h \
645 $(SRC)/composite.h \
646 $(SRC)/keyboard.h \
647 $(SRC)/buffer.h \
648 $(SRC)/puresize.h
649
650$(BLD)/keyboard.obj : \
651 $(SRC)/keyboard.c \
652 $(EMACS_ROOT)/src/s/ms-w32.h \
653 $(EMACS_ROOT)/src/m/intel386.h \
654 $(EMACS_ROOT)/src/config.h \
655 $(SRC)/termchar.h \
656 $(SRC)/termopts.h \
657 $(SRC)/termhooks.h \
658 $(SRC)/macros.h \
659 $(SRC)/frame.h \
660 $(SRC)/window.h \
661 $(SRC)/commands.h \
662 $(SRC)/buffer.h \
663 $(SRC)/disptab.h \
664 $(SRC)/keyboard.h \
665 $(SRC)/dispextern.h \
666 $(SRC)/intervals.h \
667 $(SRC)/composite.h \
668 $(SRC)/blockinput.h \
669 $(SRC)/msdos.h \
670 $(SRC)/syssignal.h \
671 $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
672 $(EMACS_ROOT)/nt/inc/sys/file.h \
673 $(SRC)/systty.h \
674 $(SRC)/w32term.h \
675 $(SRC)/xterm.h \
676 $(SRC)/vmstime.h \
677 $(SRC)/systime.h \
678 $(SRC)/atimer.h
679
680$(BLD)/keymap.obj : \
681 $(SRC)/keymap.c \
682 $(EMACS_ROOT)/src/s/ms-w32.h \
683 $(EMACS_ROOT)/src/m/intel386.h \
684 $(EMACS_ROOT)/src/config.h \
685 $(SRC)/commands.h \
686 $(SRC)/buffer.h \
687 $(SRC)/keyboard.h \
688 $(SRC)/termhooks.h \
689 $(SRC)/blockinput.h
690
691$(BLD)/lastfile.obj : \
692 $(SRC)/lastfile.c \
693 $(EMACS_ROOT)/src/s/ms-w32.h \
694 $(EMACS_ROOT)/src/m/intel386.h \
695 $(EMACS_ROOT)/src/config.h
696
697$(BLD)/lread.obj : \
698 $(SRC)/lread.c \
699 $(EMACS_ROOT)/src/s/ms-w32.h \
700 $(EMACS_ROOT)/src/m/intel386.h \
701 $(EMACS_ROOT)/src/config.h \
702 $(EMACS_ROOT)/nt/inc/sys/file.h \
703 $(SRC)/buffer.h \
704 $(EMACS_ROOT)/src/epaths.h \
705 $(SRC)/commands.h \
706 $(SRC)/keyboard.h \
707 $(SRC)/termhooks.h \
708 $(SRC)/msdos.h
709
710$(BLD)/macros.obj : \
711 $(SRC)/macros.c \
712 $(EMACS_ROOT)/src/s/ms-w32.h \
713 $(EMACS_ROOT)/src/m/intel386.h \
714 $(EMACS_ROOT)/src/config.h \
715 $(SRC)/macros.h \
716 $(SRC)/commands.h \
717 $(SRC)/buffer.h \
718 $(SRC)/window.h
719
720$(BLD)/marker.obj : \
721 $(SRC)/marker.c \
722 $(EMACS_ROOT)/src/s/ms-w32.h \
723 $(EMACS_ROOT)/src/m/intel386.h \
724 $(EMACS_ROOT)/src/config.h \
725 $(SRC)/buffer.h
726
727$(BLD)/minibuf.obj : \
728 $(SRC)/minibuf.c \
729 $(EMACS_ROOT)/src/s/ms-w32.h \
730 $(EMACS_ROOT)/src/m/intel386.h \
731 $(EMACS_ROOT)/src/config.h \
732 $(SRC)/commands.h \
733 $(SRC)/buffer.h \
734 $(SRC)/dispextern.h \
735 $(SRC)/frame.h \
736 $(SRC)/window.h \
737 $(SRC)/syntax.h
738
739$(BLD)/mocklisp.obj : \
740 $(SRC)/mocklisp.c \
741 $(EMACS_ROOT)/src/s/ms-w32.h \
742 $(EMACS_ROOT)/src/m/intel386.h \
743 $(EMACS_ROOT)/src/config.h \
744 $(SRC)/buffer.h
745
746$(BLD)/w32.obj : \
747 $(SRC)/w32.c \
748 $(SRC)/w32.h \
749 $(SRC)/s/ms-w32.h \
750 $(SRC)/m/intel386.h \
751 $(SRC)/config.h \
752 $(EMACS_ROOT)/nt/inc/pwd.h \
753 $(SRC)/w32heap.h
754
755$(BLD)/w32heap.obj : \
756 $(SRC)/w32heap.c \
757 $(SRC)/w32heap.h \
758 $(SRC)/s/ms-w32.h \
759 $(SRC)/m/intel386.h \
760 $(SRC)/config.h
761
762$(BLD)/w32inevt.obj : \
763 $(SRC)/w32inevt.c \
764 $(SRC)/s/ms-w32.h \
765 $(SRC)/m/intel386.h \
766 $(SRC)/config.h \
767 $(SRC)/frame.h \
768 $(SRC)/blockinput.h \
769 $(SRC)/termhooks.h \
770 $(SRC)/w32heap.h \
771 $(SRC)/w32term.h
772
773$(BLD)/w32proc.obj : \
774 $(SRC)/w32proc.c \
775 $(SRC)/s/ms-w32.h \
776 $(SRC)/m/intel386.h \
777 $(SRC)/config.h \
778 $(SRC)/w32.h \
779 $(SRC)/w32heap.h \
780 $(SRC)/vmstime.h \
781 $(SRC)/systime.h
782
783$(BLD)/w32console.obj : \
784 $(SRC)/w32console.c \
785 $(SRC)/s/ms-w32.h \
786 $(SRC)/m/intel386.h \
787 $(SRC)/config.h \
788 $(SRC)/frame.h \
789 $(SRC)/disptab.h \
790 $(SRC)/termhooks.h \
791 $(SRC)/w32inevt.h
792
793$(BLD)/prefix-args.obj : \
794 $(SRC)/prefix-args.c
795
796$(BLD)/print.obj : \
797 $(SRC)/print.c \
798 $(EMACS_ROOT)/src/s/ms-w32.h \
799 $(EMACS_ROOT)/src/m/intel386.h \
800 $(EMACS_ROOT)/src/config.h \
801 $(SRC)/buffer.h \
802 $(SRC)/frame.h \
803 $(SRC)/window.h \
804 $(SRC)/process.h \
805 $(SRC)/termchar.h \
806 $(SRC)/dispextern.h \
807 $(SRC)/intervals.h \
808 $(SRC)/composite.h
809
810$(BLD)/process.obj : \
811 $(SRC)/process.c \
812 $(EMACS_ROOT)/src/s/ms-w32.h \
813 $(EMACS_ROOT)/src/m/intel386.h \
814 $(EMACS_ROOT)/src/config.h \
815 $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
816 $(EMACS_ROOT)/nt/inc/sys/file.h \
817 $(SRC)/systty.h \
818 $(SRC)/window.h \
819 $(SRC)/buffer.h \
820 $(SRC)/process.h \
821 $(SRC)/termhooks.h \
822 $(SRC)/commands.h \
823 $(SRC)/frame.h \
824 $(SRC)/syssignal.h \
825 $(SRC)/vmsproc.h \
826 $(SRC)/syswait.h \
827 $(SRC)/vmstime.h \
828 $(SRC)/systime.h \
829 $(SRC)/termopts.h \
830 $(SRC)/composite.h \
831 $(SRC)/atimer.h
832
833$(BLD)/ralloc.obj : \
834 $(SRC)/ralloc.c \
835 $(EMACS_ROOT)/src/s/ms-w32.h \
836 $(EMACS_ROOT)/src/m/intel386.h \
837 $(EMACS_ROOT)/src/config.h \
838 $(SRC)/s/ms-w32.h \
839 $(SRC)/m/intel386.h \
840 $(SRC)/config.h \
841 $(EMACS_ROOT)/nt/inc/sys/param.h \
842 $(SRC)/getpagesize.h
843
844$(BLD)/regex.obj : \
845 $(SRC)/regex.c \
846 $(EMACS_ROOT)/src/s/ms-w32.h \
847 $(EMACS_ROOT)/src/m/intel386.h \
848 $(EMACS_ROOT)/src/config.h \
849 $(SRC)/s/ms-w32.h \
850 $(SRC)/m/intel386.h \
851 $(SRC)/config.h \
852 $(SRC)/buffer.h \
853 $(SRC)/syntax.h \
854 $(SRC)/regex.h
855
856$(BLD)/region-cache.obj : \
857 $(SRC)/region-cache.c \
858 $(EMACS_ROOT)/src/s/ms-w32.h \
859 $(EMACS_ROOT)/src/m/intel386.h \
860 $(EMACS_ROOT)/src/config.h \
861 $(SRC)/buffer.h \
862 $(SRC)/region-cache.h
863
864$(BLD)/scroll.obj : \
865 $(SRC)/scroll.c \
866 $(EMACS_ROOT)/src/s/ms-w32.h \
867 $(EMACS_ROOT)/src/m/intel386.h \
868 $(EMACS_ROOT)/src/config.h \
869 $(SRC)/termchar.h \
870 $(SRC)/dispextern.h \
871 $(SRC)/frame.h
872
873$(BLD)/search.obj : \
874 $(SRC)/search.c \
875 $(EMACS_ROOT)/src/s/ms-w32.h \
876 $(EMACS_ROOT)/src/m/intel386.h \
877 $(EMACS_ROOT)/src/config.h \
878 $(SRC)/syntax.h \
879 $(SRC)/buffer.h \
880 $(SRC)/commands.h \
881 $(SRC)/blockinput.h \
882 $(SRC)/regex.h \
883 $(SRC)/region-cache.h \
884 $(SRC)/composite.h
885
886$(BLD)/strftime.obj : \
887 $(SRC)/strftime.c \
888 $(EMACS_ROOT)/src/s/ms-w32.h \
889 $(EMACS_ROOT)/src/m/intel386.h \
890 $(EMACS_ROOT)/src/config.h
891
892$(BLD)/sunfns.obj : \
893 $(SRC)/sunfns.c \
894 $(EMACS_ROOT)/src/s/ms-w32.h \
895 $(EMACS_ROOT)/src/m/intel386.h \
896 $(EMACS_ROOT)/src/config.h \
897 $(SRC)/window.h \
898 $(SRC)/buffer.h \
899 $(SRC)/termhooks.h
900
901$(BLD)/syntax.obj : \
902 $(SRC)/syntax.c \
903 $(EMACS_ROOT)/src/s/ms-w32.h \
904 $(EMACS_ROOT)/src/m/intel386.h \
905 $(EMACS_ROOT)/src/config.h \
906 $(SRC)/commands.h \
907 $(SRC)/buffer.h \
908 $(SRC)/syntax.h \
909 $(SRC)/composite.h
910
911$(BLD)/sysdep.obj : \
912 $(SRC)/sysdep.c \
913 $(EMACS_ROOT)/src/s/ms-w32.h \
914 $(EMACS_ROOT)/src/m/intel386.h \
915 $(EMACS_ROOT)/src/config.h \
916 $(SRC)/blockinput.h \
917 $(SRC)/dosfns.h \
918 $(SRC)/msdos.h \
919 $(EMACS_ROOT)/nt/inc/sys/param.h \
920 $(EMACS_ROOT)/nt/inc/sys/file.h \
921 $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
922 $(EMACS_ROOT)/nt/inc/sys/file.h \
923 $(SRC)/systty.h \
924 $(SRC)/vmsproc.h \
925 $(SRC)/syswait.h \
926 $(SRC)/frame.h \
927 $(SRC)/window.h \
928 $(SRC)/termhooks.h \
929 $(SRC)/termchar.h \
930 $(SRC)/termopts.h \
931 $(SRC)/dispextern.h \
932 $(SRC)/process.h \
933 $(SRC)/vmsdir.h \
934 $(SRC)/ndir.h \
935 $(SRC)/syssignal.h \
936 $(SRC)/vmstime.h \
937 $(SRC)/systime.h \
938 $(SRC)/uaf.h \
939 $(SRC)/vms-pwd.h \
940 $(EMACS_ROOT)/src/acldef.h \
941 $(EMACS_ROOT)/src/chpdef.h
942
943$(BLD)/term.obj : \
944 $(SRC)/term.c \
945 $(EMACS_ROOT)/src/s/ms-w32.h \
946 $(EMACS_ROOT)/src/m/intel386.h \
947 $(EMACS_ROOT)/src/config.h \
948 $(SRC)/termchar.h \
949 $(SRC)/termopts.h \
950 $(SRC)/cm.h \
951 $(SRC)/frame.h \
952 $(SRC)/disptab.h \
953 $(SRC)/termhooks.h \
954 $(SRC)/keyboard.h
955
956$(BLD)/termcap.obj : \
957 $(SRC)/termcap.c \
958 $(EMACS_ROOT)/src/s/ms-w32.h \
959 $(EMACS_ROOT)/src/m/intel386.h \
960 $(EMACS_ROOT)/src/config.h \
961 $(EMACS_ROOT)/nt/inc/sys/file.h
962
963$(BLD)/terminfo.obj : \
964 $(SRC)/terminfo.c
965
966$(BLD)/textprop.obj : \
967 $(SRC)/textprop.c \
968 $(EMACS_ROOT)/src/s/ms-w32.h \
969 $(EMACS_ROOT)/src/m/intel386.h \
970 $(EMACS_ROOT)/src/config.h \
971 $(SRC)/dispextern.h \
972 $(SRC)/intervals.h \
973 $(SRC)/composite.h \
974 $(SRC)/buffer.h \
975 $(SRC)/window.h
976
977$(BLD)/tparam.obj : \
978 $(SRC)/tparam.c \
979 $(EMACS_ROOT)/src/s/ms-w32.h \
980 $(EMACS_ROOT)/src/m/intel386.h \
981 $(EMACS_ROOT)/src/config.h
982
983$(BLD)/undo.obj : \
984 $(SRC)/undo.c \
985 $(EMACS_ROOT)/src/s/ms-w32.h \
986 $(EMACS_ROOT)/src/m/intel386.h \
987 $(EMACS_ROOT)/src/config.h \
988 $(SRC)/buffer.h \
989 $(SRC)/commands.h
990
991$(BLD)/unexw32.obj : \
992 $(SRC)/unexw32.c \
993 $(EMACS_ROOT)/src/s/ms-w32.h \
994 $(EMACS_ROOT)/src/m/intel386.h \
995 $(EMACS_ROOT)/src/config.h \
996 $(SRC)/w32heap.h
997
998$(BLD)/vm-limit.obj : \
999 $(SRC)/vm-limit.c \
1000 $(EMACS_ROOT)/src/s/ms-w32.h \
1001 $(EMACS_ROOT)/src/m/intel386.h \
1002 $(EMACS_ROOT)/src/config.h \
1003 $(SRC)/mem-limits.h
1004
1005$(BLD)/widget.obj : \
1006 $(SRC)/widget.c \
1007 $(EMACS_ROOT)/src/s/ms-w32.h \
1008 $(EMACS_ROOT)/src/m/intel386.h \
1009 $(EMACS_ROOT)/src/config.h \
1010 $(SRC)/xterm.h \
1011 $(SRC)/frame.h \
1012 $(SRC)/dispextern.h \
1013 $(SRC)/widget.h \
1014 $(SRC)/widgetprv.h
1015
1016$(BLD)/window.obj : \
1017 $(SRC)/window.c \
1018 $(EMACS_ROOT)/src/s/ms-w32.h \
1019 $(EMACS_ROOT)/src/m/intel386.h \
1020 $(EMACS_ROOT)/src/config.h \
1021 $(SRC)/buffer.h \
1022 $(SRC)/frame.h \
1023 $(SRC)/window.h \
1024 $(SRC)/commands.h \
1025 $(SRC)/indent.h \
1026 $(SRC)/termchar.h \
1027 $(SRC)/disptab.h \
1028 $(SRC)/keyboard.h \
1029 $(SRC)/composite.h
1030
1031$(BLD)/xdisp.obj : \
1032 $(SRC)/xdisp.c \
1033 $(EMACS_ROOT)/src/s/ms-w32.h \
1034 $(EMACS_ROOT)/src/m/intel386.h \
1035 $(EMACS_ROOT)/src/config.h \
1036 $(SRC)/frame.h \
1037 $(SRC)/window.h \
1038 $(SRC)/termchar.h \
1039 $(SRC)/buffer.h \
1040 $(SRC)/indent.h \
1041 $(SRC)/commands.h \
1042 $(SRC)/macros.h \
1043 $(SRC)/disptab.h \
1044 $(SRC)/termhooks.h \
1045 $(SRC)/dispextern.h \
1046 $(SRC)/intervals.h \
1047 $(SRC)/composite.h
1048
1049$(BLD)/xfaces.obj: \
1050 $(EMACS_ROOT)/src/s/ms-w32.h \
1051 $(EMACS_ROOT)/src/m/intel386.h \
1052 $(EMACS_ROOT)/src/config.h \
1053 $(SRC)/xfaces.c \
1054 $(SRC)/charset.h \
1055 $(SRC)/fontset.h \
1056 $(SRC)/w32term.h \
1057 $(SRC)/w32gui.h \
1058 $(SRC)/buffer.h \
1059 $(SRC)/dispextern.h \
1060 $(SRC)/frame.h \
1061 $(SRC)/blockinput.h \
1062 $(SRC)/window.h \
1063 $(SRC)/intervals.h \
1064 $(SRC)/composite.h
1065
1066$(BLD)/w32fns.obj: \
1067 $(EMACS_ROOT)/src/s/ms-w32.h \
1068 $(EMACS_ROOT)/src/m/intel386.h \
1069 $(EMACS_ROOT)/src/config.h \
1070 $(SRC)/w32fns.c \
1071 $(SRC)/x-list-font.c \
1072 $(SRC)/w32term.h \
1073 $(SRC)/w32gui.h \
1074 $(SRC)/frame.h \
1075 $(SRC)/window.h \
1076 $(SRC)/buffer.h \
1077 $(SRC)/charset.h \
1078 $(SRC)/coding.h \
1079 $(SRC)/dispextern.h \
1080 $(SRC)/keyboard.h \
1081 $(SRC)/blockinput.h \
1082 $(SRC)/epaths.h \
1083 $(SRC)/w32heap.h \
1084 $(SRC)/termhooks.h
1085
1086$(BLD)/w32menu.obj: \
1087 $(EMACS_ROOT)/src/s/ms-w32.h \
1088 $(EMACS_ROOT)/src/m/intel386.h \
1089 $(EMACS_ROOT)/src/config.h \
1090 $(SRC)/w32menu.c \
1091 $(SRC)/termhooks.h \
1092 $(SRC)/frame.h \
1093 $(SRC)/window.h \
1094 $(SRC)/keyboard.h \
1095 $(SRC)/blockinput.h \
1096 $(SRC)/buffer.h \
1097 $(SRC)/charset.h \
1098 $(SRC)/coding.h
1099
1100$(BLD)/w32term.obj: \
1101 $(EMACS_ROOT)/src/s/ms-w32.h \
1102 $(EMACS_ROOT)/src/m/intel386.h \
1103 $(EMACS_ROOT)/src/config.h \
1104 $(SRC)/w32term.c \
1105 $(SRC)/blockinput.h \
1106 $(SRC)/w32heap.h \
1107 $(SRC)/w32term.h \
1108 $(SRC)/w32gui.h \
1109 $(SRC)/systty.h \
1110 $(SRC)/systime.h \
1111 $(SRC)/frame.h \
1112 $(SRC)/dispextern.h \
1113 $(SRC)/termhooks.h \
1114 $(SRC)/termopts.h \
1115 $(SRC)/termchar.h \
1116 $(SRC)/gnu.h \
1117 $(SRC)/disptab.h \
1118 $(SRC)/buffer.h \
1119 $(SRC)/window.h \
1120 $(SRC)/keyboard.h \
1121 $(SRC)/intervals.h \
1122 $(SRC)/composite.h \
1123 $(SRC)/atimer.h
1124
1125$(BLD)/w32select.obj: \
1126 $(EMACS_ROOT)/src/s/ms-w32.h \
1127 $(EMACS_ROOT)/src/m/intel386.h \
1128 $(EMACS_ROOT)/src/config.h \
1129 $(SRC)/w32select.c \
1130 $(SRC)/w32term.h \
1131 $(SRC)/w32gui.h \
1132 $(SRC)/dispextern.h \
1133 $(SRC)/frame.h \
1134 $(SRC)/blockinput.h
1135
1136$(BLD)/w32reg.obj: \
1137 $(EMACS_ROOT)/src/s/ms-w32.h \
1138 $(EMACS_ROOT)/src/m/intel386.h \
1139 $(EMACS_ROOT)/src/config.h \
1140 $(SRC)/w32reg.c \
1141 $(SRC)/w32term.h \
1142 $(SRC)/w32gui.h \
1143 $(SRC)/blockinput.h
1144
1145$(BLD)/w32xfns.obj: \
1146 $(EMACS_ROOT)/src/s/ms-w32.h \
1147 $(EMACS_ROOT)/src/m/intel386.h \
1148 $(EMACS_ROOT)/src/config.h \
1149 $(SRC)/w32xfns.c \
1150
1151$(BLD)/w32bdf.obj: \
1152 $(EMACS_ROOT)/src/s/ms-w32.h \
1153 $(EMACS_ROOT)/src/m/intel386.h \
1154 $(EMACS_ROOT)/src/config.h \
1155 $(SRC)/w32bdf.c \
1156 $(SRC)/charset.h \
1157 $(SRC)/frame.h \
1158 $(SRC)/dispextern.h \
1159 $(SRC)/fontset.h \
1160 $(SRC)/blockinput.h \
1161 $(SRC)/w32gui.h \
1162 $(SRC)/w32term.h \
1163 $(SRC)/w32bdf.h \
1164 $(SRC)/w32.h \
1165 $(SRC)/frame.h \
1166 $(SRC)/blockinput.h