(vip-add-hook,vip-remove-hook): new functions.
[emacs.git] / src / makefile.nt
blob27fed2d6b409b5d32ad1814ffa41e7bac62b4d31
1 #  Makefile for GNU Emacs on Windows NT
2 #  Copyright (c) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
3 #   Tim Fleehart (apollo@online.com)            17-Apr-92
4 #   Geoff Voelker (voelker@cs.washington.edu)   11-20-93
6 #  This file is part of GNU Emacs.
7 #  
8 #  GNU Emacs is free software; you can redistribute it and/or modify
9 #  it under the terms of the GNU General Public License as published by
10 #  the Free Software Foundation; either version 2, or (at your option)
11 #  any later version.
12 #  
13 #  GNU Emacs is distributed in the hope that it will be useful,
14 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
15 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 #  GNU General Public License for more details.
17 #  
18 #  You should have received a copy of the GNU General Public License
19 #  along with GNU Emacs; see the file COPYING.  If not, write to
20 #  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
23
24 # Sets up the system dependent macros.
26 !include ..\nt\makefile.def
29 # HAVE_CONFIG_H is required by some generic gnu sources stuck into
30 # the emacs source tree.
32 LOCAL_FLAGS     = -Demacs=1 -DWINDOWSNT -DDOS_NT -DHAVE_CONFIG_H -I..\nt\inc
34 EMACS           = $(BLD)\emacs.exe
35 TEMACS          = $(BLD)\temacs.exe
36 TLIB1           = $(BLD)\temacs1.lib
37 TLIB2           = $(BLD)\temacs2.lib
38 TOBJ            = $(BLD)\emacs.obj
39 !if $(MSVCNT11)
40 TRES            = $(BLD)\emacs.res
41 !else
42 TRES            = $(BLD)\emacs.rbj
43 !endif
44 TLASTLIB        = $(BLD)\lastfile.lib
46 LINK_FLAGS      = $(ARCH_LDFLAGS) -stack:0x1000000 -base:0xD00000 -debug:full -debugtype:cv -machine:$(ARCH) -subsystem:console -entry:_start 
49 # Split up the objects into two sets so that we don't run out of
50 # command line space when we link them into a library.
52 OBJ1 =  $(BLD)\abbrev.obj       \
53         $(BLD)\alloc.obj        \
54         $(BLD)\alloca.obj       \
55         $(BLD)\buffer.obj       \
56         $(BLD)\bytecode.obj     \
57         $(BLD)\callint.obj      \
58         $(BLD)\callproc.obj     \
59         $(BLD)\casefiddle.obj   \
60         $(BLD)\cm.obj           \
61         $(BLD)\cmds.obj         \
62         $(BLD)\data.obj         \
63         $(BLD)\dired.obj        \
64         $(BLD)\dispnew.obj      \
65         $(BLD)\doc.obj          \
66         $(BLD)\doprnt.obj       \
67         $(BLD)\editfns.obj      \
68         $(BLD)\eval.obj         \
69         $(BLD)\fileio.obj       \
70         $(BLD)\filelock.obj     \
71         $(BLD)\filemode.obj     \
72         $(BLD)\fns.obj          \
73         $(BLD)\indent.obj       \
74         $(BLD)\insdel.obj       \
75         $(BLD)\keyboard.obj     \
76         $(BLD)\keymap.obj       \
77         $(BLD)\lread.obj        \
78         $(BLD)\macros.obj       \
79         $(BLD)\marker.obj       \
80         $(BLD)\minibuf.obj      \
81         $(BLD)\mocklisp.obj
83 OBJ2 =  $(BLD)\nt.obj           \
84         $(BLD)\ntheap.obj       \
85         $(BLD)\ntinevt.obj      \
86         $(BLD)\ntproc.obj       \
87         $(BLD)\ntterm.obj       \
88         $(BLD)\print.obj        \
89         $(BLD)\process.obj      \
90         $(BLD)\regex.obj        \
91         $(BLD)\scroll.obj       \
92         $(BLD)\search.obj       \
93         $(BLD)\syntax.obj       \
94         $(BLD)\sysdep.obj       \
95         $(BLD)\term.obj         \
96         $(BLD)\termcap.obj      \
97         $(BLD)\tparam.obj       \
98         $(BLD)\undo.obj         \
99         $(BLD)\unexnt.obj       \
100         $(BLD)\window.obj       \
101         $(BLD)\xdisp.obj        \
102         $(BLD)\casetab.obj      \
103         $(BLD)\floatfns.obj     \
104         $(BLD)\frame.obj        \
105         $(BLD)\gmalloc.obj      \
106         $(BLD)\intervals.obj    \
107         $(BLD)\ralloc.obj       \
108         $(BLD)\textprop.obj     \
109         $(BLD)\vm-limit.obj     \
110         $(BLD)\region-cache.obj \
111         $(BLD)\strftime.obj
113 LIBS =  $(TLIB1)        \
114         $(TLIB2)        \
115         $(TLASTLIB)     \
116         $(BASE_LIBS)    \
117         $(ADVAPI32)     \
118         user32.lib
121 # Build the executable and dump it.
123 all:            $(BLD) $(EMACS) 
126 # Headers we would preprocess if we could.
128 PREPARED_HEADERS = config.h paths.h
129 config.h:       ..\nt\$(CONFIG_H)
130                 $(CP) $** $@
131 paths.h:        ..\nt\paths.h
132                 $(CP) $** $@
135 # Make sure we have the DOC file in the right place.
137 DOC             = obj\etc\DOC-X
138 $(DOC):;        cd ..\lib-src 
139                 - del /q DOC-X
140                 $(MAKE) -f makefile.nt all
141                 cd ..\src
144 # The dumped executable
146 emacs:          $(EMACS)
147 $(EMACS):       $(PREPARED_HEADERS) $(DOC) $(TEMACS)
148                 cd $(BLD)
149                 temacs.exe -batch -l loadup dump
150                 cd ..\..
153 # The undumped executable
155 temacs:         $(BLD) $(TEMACS)
156 $(TEMACS):      $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES)
157                 $(LINK) -out:$(TEMACS) $(LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS)
160 # The resource file.  NT 3.10 requires the use of cvtres; even though
161 # it is not necessary on later versions, it is still ok to use it.
163 $(TRES):        ..\nt\emacs.rc
164                 $(RC) -i..\nt -Fo$(BLD)\emacs.res $**
165 !if !$(MSVCNT11)
166                 $(CVTRES) -r -$(ARCH) -o $@ $(BLD)\emacs.res
167 !endif
170 # Build the library.  Split up the build into two phases...otherwise we 
171 # run out of command line space.
173 $(TLIB1):       $(OBJ1)
174                 @- $(AR) -out:$@ $**
175 $(TLIB2):       $(OBJ2)
176                 @- $(AR) -out:$@ $**
178 # Place lastfile.obj in it's own library so that it can be loaded after
179 # the source libraries but before any system libraries.  Doing so defines
180 # the end of Emacs' data section portably across compilers.
182 $(TLASTLIB):    $(BLD)\lastfile.obj
183                 @- $(AR) -out:$@ $**
186 # Object files.
188 .c{$(BLD)}.obj:
189                 $(CC) $(CFLAGS) -Fo$@ $<
192 # Assuming INSTALL_DIR is defined, build and install emacs in it.
194 install:        all
195                 - mkdir $(INSTALL_DIR)\bin
196                 $(CP) $(EMACS) $(INSTALL_DIR)\bin
199 # Maintenance
201 clean:;         - del /q *~ *.pdb config.h
202                 - $(DEL_TREE) deleted
203                 - $(DEL_TREE) obj
206 # These files are the ones that compile conditionally on CANNOT_DUMP...
207 # this target is mostly used for debugging.
209 cleandump:;     cd $(BLD)
210                 - del callproc.obj data.obj dispnew.obj doc.obj editfns.obj emacs.obj lread.obj process.obj sysdep.obj term.obj ntheap.obj unexnt.obj
211                 cd ..\..
214 ### DEPENDENCIES ###
216 EMACS_ROOT      = ..
217 SRC             = .
219 $(BLD)\abbrev.obj : \
220         $(SRC)\abbrev.c \
221         $(EMACS_ROOT)\src\s\windowsnt.h \
222         $(EMACS_ROOT)\src\m\intel386.h \
223         $(EMACS_ROOT)\src\config.h \
224         $(SRC)\lisp.h \
225         $(SRC)\commands.h \
226         $(SRC)\buffer.h \
227         $(SRC)\window.h
229 $(BLD)\alloc.obj : \
230         $(SRC)\alloc.c \
231         $(EMACS_ROOT)\src\s\windowsnt.h \
232         $(EMACS_ROOT)\src\m\intel386.h \
233         $(EMACS_ROOT)\src\config.h \
234         $(SRC)\lisp.h \
235         $(SRC)\dispextern.h \
236         $(SRC)\intervals.h \
237         $(SRC)\puresize.h \
238         $(SRC)\buffer.h \
239         $(SRC)\window.h \
240         $(SRC)\frame.h \
241         $(SRC)\blockinput.h \
242         $(SRC)\syssignal.h
244 $(BLD)\alloca.obj : \
245         $(SRC)\alloca.c \
246         $(EMACS_ROOT)\src\s\windowsnt.h \
247         $(EMACS_ROOT)\src\m\intel386.h \
248         $(EMACS_ROOT)\src\config.h \
249         $(SRC)\s\windowsnt.h \
250         $(SRC)\m\intel386.h \
251         $(SRC)\config.h \
252         $(SRC)\blockinput.h
254 $(BLD)\buffer.obj : \
255         $(SRC)\buffer.c \
256         $(EMACS_ROOT)\nt\inc\sys\param.h \
257         $(EMACS_ROOT)\src\s\windowsnt.h \
258         $(EMACS_ROOT)\src\m\intel386.h \
259         $(EMACS_ROOT)\src\config.h \
260         $(SRC)\lisp.h \
261         $(SRC)\dispextern.h \
262         $(SRC)\intervals.h \
263         $(SRC)\window.h \
264         $(SRC)\commands.h \
265         $(SRC)\buffer.h \
266         $(SRC)\indent.h \
267         $(SRC)\blockinput.h \
268         $(SRC)\region-cache.h
270 $(BLD)\bytecode.obj : \
271         $(SRC)\bytecode.c \
272         $(SRC)\lisp.h \
273         $(SRC)\buffer.h \
274         $(SRC)\syntax.h
276 $(BLD)\callint.obj : \
277         $(SRC)\callint.c \
278         $(SRC)\lisp.h \
279         $(SRC)\buffer.h \
280         $(SRC)\commands.h \
281         $(SRC)\keyboard.h \
282         $(SRC)\window.h \
283         $(SRC)\mocklisp.h
285 $(BLD)\callproc.obj : \
286         $(SRC)\callproc.c \
287         $(EMACS_ROOT)\src\s\windowsnt.h \
288         $(EMACS_ROOT)\src\m\intel386.h \
289         $(EMACS_ROOT)\src\config.h \
290         $(SRC)\msdos.h \
291         $(EMACS_ROOT)\nt\inc\sys\param.h \
292         $(SRC)\lisp.h \
293         $(SRC)\commands.h \
294         $(SRC)\buffer.h \
295         $(SRC)\process.h \
296         $(SRC)\syssignal.h \
297         $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
298         $(EMACS_ROOT)\nt\inc\sys\file.h \
299         $(SRC)\systty.h
301 $(BLD)\casefiddle.obj : \
302         $(SRC)\casefiddle.c \
303         $(EMACS_ROOT)\src\s\windowsnt.h \
304         $(EMACS_ROOT)\src\m\intel386.h \
305         $(EMACS_ROOT)\src\config.h \
306         $(SRC)\lisp.h \
307         $(SRC)\buffer.h \
308         $(SRC)\commands.h \
309         $(SRC)\syntax.h
310         $(CC) $(CFLAGS) -Fo$@ casefiddle.c
312 $(BLD)\casetab.obj : \
313         $(SRC)\casetab.c \
314         $(EMACS_ROOT)\src\s\windowsnt.h \
315         $(EMACS_ROOT)\src\m\intel386.h \
316         $(EMACS_ROOT)\src\config.h \
317         $(SRC)\lisp.h \
318         $(SRC)\buffer.h
320 $(BLD)\cm.obj : \
321         $(SRC)\cm.c \
322         $(EMACS_ROOT)\src\s\windowsnt.h \
323         $(EMACS_ROOT)\src\m\intel386.h \
324         $(EMACS_ROOT)\src\config.h \
325         $(SRC)\cm.h \
326         $(SRC)\termhooks.h
328 $(BLD)\cmds.obj : \
329         $(SRC)\cmds.c \
330         $(EMACS_ROOT)\src\s\windowsnt.h \
331         $(EMACS_ROOT)\src\m\intel386.h \
332         $(EMACS_ROOT)\src\config.h \
333         $(SRC)\lisp.h \
334         $(SRC)\commands.h \
335         $(SRC)\buffer.h \
336         $(SRC)\syntax.h
338 $(BLD)\data.obj : \
339         $(SRC)\data.c \
340         $(EMACS_ROOT)\src\s\windowsnt.h \
341         $(EMACS_ROOT)\src\m\intel386.h \
342         $(EMACS_ROOT)\src\config.h \
343         $(SRC)\lisp.h \
344         $(SRC)\puresize.h \
345         $(SRC)\buffer.h \
346         $(SRC)\syssignal.h
348 $(BLD)\dired.obj : \
349         $(SRC)\dired.c \
350         $(EMACS_ROOT)\src\s\windowsnt.h \
351         $(EMACS_ROOT)\src\m\intel386.h \
352         $(EMACS_ROOT)\src\config.h \
353         $(SRC)\vmsdir.h \
354         $(SRC)\ndir.h \
355         $(SRC)\lisp.h \
356         $(SRC)\buffer.h \
357         $(SRC)\commands.h \
358         $(SRC)\regex.h
360 $(BLD)\dispnew.obj : \
361         $(SRC)\dispnew.c \
362         $(EMACS_ROOT)\src\s\windowsnt.h \
363         $(EMACS_ROOT)\src\m\intel386.h \
364         $(EMACS_ROOT)\src\config.h \
365         $(SRC)\lisp.h \
366         $(SRC)\termchar.h \
367         $(SRC)\termopts.h \
368         $(SRC)\termhooks.h \
369         $(SRC)\cm.h \
370         $(SRC)\buffer.h \
371         $(SRC)\frame.h \
372         $(SRC)\window.h \
373         $(SRC)\commands.h \
374         $(SRC)\disptab.h \
375         $(SRC)\indent.h \
376         $(SRC)\dispextern.h \
377         $(SRC)\intervals.h \
378         $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
379         $(EMACS_ROOT)\nt\inc\sys\file.h \
380         $(SRC)\systty.h \
381         $(SRC)\xterm.h \
382         $(SRC)\vmstime.h \
383         $(SRC)\systime.h
385 $(BLD)\doc.obj : \
386         $(SRC)\doc.c \
387         $(EMACS_ROOT)\src\s\windowsnt.h \
388         $(EMACS_ROOT)\src\m\intel386.h \
389         $(EMACS_ROOT)\src\config.h \
390         $(EMACS_ROOT)\nt\inc\sys\file.h \
391         $(SRC)\lisp.h \
392         $(SRC)\buffer.h \
393         $(SRC)\keyboard.h
395 $(BLD)\doprnt.obj : \
396         $(SRC)\doprnt.c \
397         $(EMACS_ROOT)\src\s\windowsnt.h \
398         $(EMACS_ROOT)\src\m\intel386.h \
399         $(EMACS_ROOT)\src\config.h
401 $(BLD)\dosfns.obj : \
402         $(SRC)\dosfns.c \
403         $(EMACS_ROOT)\src\s\windowsnt.h \
404         $(EMACS_ROOT)\src\m\intel386.h \
405         $(EMACS_ROOT)\src\config.h \
406         $(SRC)\lisp.h \
407         $(SRC)\buffer.h \
408         $(SRC)\termchar.h \
409         $(SRC)\termhooks.h \
410         $(SRC)\frame.h \
411         $(SRC)\dosfns.h \
412         $(SRC)\msdos.h
414 $(BLD)\editfns.obj : \
415         $(SRC)\editfns.c \
416         $(EMACS_ROOT)\src\s\windowsnt.h \
417         $(EMACS_ROOT)\src\m\intel386.h \
418         $(EMACS_ROOT)\src\config.h \
419         $(SRC)\uaf.h \
420         $(SRC)\vms-pwd.h \
421         $(EMACS_ROOT)\nt\inc\pwd.h \
422         $(SRC)\lisp.h \
423         $(SRC)\dispextern.h \
424         $(SRC)\intervals.h \
425         $(SRC)\buffer.h \
426         $(SRC)\window.h \
427         $(SRC)\vmstime.h \
428         $(SRC)\systime.h
430 $(BLD)\emacs.obj : \
431         $(SRC)\emacs.c \
432         $(EMACS_ROOT)\src\s\windowsnt.h \
433         $(EMACS_ROOT)\src\m\intel386.h \
434         $(EMACS_ROOT)\src\config.h \
435         $(SRC)\lisp.h \
436         $(SRC)\commands.h \
437         $(SRC)\dispextern.h \
438         $(SRC)\intervals.h \
439         $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
440         $(EMACS_ROOT)\nt\inc\sys\file.h \
441         $(SRC)\systty.h \
442         $(SRC)\syssignal.h \
443         $(SRC)\process.h
445 $(BLD)\eval.obj : \
446         $(SRC)\eval.c \
447         $(EMACS_ROOT)\src\s\windowsnt.h \
448         $(EMACS_ROOT)\src\m\intel386.h \
449         $(EMACS_ROOT)\src\config.h \
450         $(SRC)\lisp.h \
451         $(SRC)\blockinput.h \
452         $(SRC)\commands.h \
453         $(SRC)\keyboard.h
455 $(BLD)\fileio.obj : \
456         $(SRC)\fileio.c \
457         $(EMACS_ROOT)\src\s\windowsnt.h \
458         $(EMACS_ROOT)\src\m\intel386.h \
459         $(EMACS_ROOT)\src\config.h \
460         $(SRC)\uaf.h \
461         $(SRC)\vms-pwd.h \
462         $(EMACS_ROOT)\nt\inc\pwd.h \
463         $(SRC)\msdos.h \
464         $(EMACS_ROOT)\nt\inc\sys\param.h \
465         $(SRC)\vmsdir.h \
466         $(SRC)\lisp.h \
467         $(SRC)\dispextern.h \
468         $(SRC)\intervals.h \
469         $(SRC)\buffer.h \
470         $(SRC)\window.h \
471         $(EMACS_ROOT)\nt\inc\sys\file.h \
472         $(SRC)\vmstime.h \
473         $(SRC)\systime.h
475 $(BLD)\filelock.obj : \
476         $(SRC)\filelock.c \
477         $(EMACS_ROOT)\src\s\windowsnt.h \
478         $(EMACS_ROOT)\src\m\intel386.h \
479         $(EMACS_ROOT)\src\config.h \
480         $(SRC)\uaf.h \
481         $(SRC)\vms-pwd.h \
482         $(EMACS_ROOT)\nt\inc\pwd.h \
483         $(EMACS_ROOT)\nt\inc\sys\file.h \
484         $(SRC)\lisp.h \
485         $(EMACS_ROOT)\src\paths.h \
486         $(SRC)\buffer.h \
487         $(SRC)\vmsdir.h \
488         $(SRC)\ndir.h
490 $(BLD)\filemode.obj : \
491         $(SRC)\filemode.c \
492         $(EMACS_ROOT)\src\s\windowsnt.h \
493         $(EMACS_ROOT)\src\m\intel386.h \
494         $(EMACS_ROOT)\src\config.h \
495         $(SRC)\s\windowsnt.h \
496         $(SRC)\m\intel386.h \
497         $(SRC)\config.h
499 $(BLD)\floatfns.obj : \
500         $(SRC)\floatfns.c \
501         $(EMACS_ROOT)\src\s\windowsnt.h \
502         $(EMACS_ROOT)\src\m\intel386.h \
503         $(EMACS_ROOT)\src\config.h \
504         $(SRC)\lisp.h \
505         $(SRC)\syssignal.h
507 $(BLD)\fns.obj : \
508         $(SRC)\fns.c \
509         $(EMACS_ROOT)\src\s\windowsnt.h \
510         $(EMACS_ROOT)\src\m\intel386.h \
511         $(EMACS_ROOT)\src\config.h \
512         $(SRC)\lisp.h \
513         $(SRC)\commands.h \
514         $(SRC)\buffer.h \
515         $(SRC)\keyboard.h \
516         $(SRC)\dispextern.h \
517         $(SRC)\intervals.h
519 $(BLD)\frame.obj : \
520         $(SRC)\frame.c \
521         $(EMACS_ROOT)\src\s\windowsnt.h \
522         $(EMACS_ROOT)\src\m\intel386.h \
523         $(EMACS_ROOT)\src\config.h \
524         $(SRC)\lisp.h \
525         $(SRC)\frame.h \
526         $(SRC)\termhooks.h \
527         $(SRC)\window.h \
528         $(SRC)\buffer.h \
529         $(SRC)\commands.h \
530         $(SRC)\keyboard.h
532 $(BLD)\getloadavg.obj : \
533         $(SRC)\getloadavg.c \
534         $(EMACS_ROOT)\nt\inc\sys\param.h \
535         $(EMACS_ROOT)\src\s\windowsnt.h \
536         $(EMACS_ROOT)\src\m\intel386.h \
537         $(EMACS_ROOT)\src\config.h \
538         $(SRC)\s\windowsnt.h \
539         $(SRC)\m\intel386.h \
540         $(SRC)\config.h \
541         $(EMACS_ROOT)\nt\inc\sys\file.h
543 $(BLD)\gmalloc.obj : \
544         $(SRC)\gmalloc.c \
545         $(EMACS_ROOT)\src\s\windowsnt.h \
546         $(EMACS_ROOT)\src\m\intel386.h \
547         $(EMACS_ROOT)\src\config.h \
548         $(EMACS_ROOT)\nt\inc\sys\param.h \
549         $(SRC)\getpagesize.h
550         $(CC) $(CFLAGS) -D__STDC__ -Fo$@ gmalloc.c
552 $(BLD)\hftctl.obj : \
553         $(SRC)\hftctl.c \
554         $(EMACS_ROOT)\src\s\windowsnt.h \
555         $(EMACS_ROOT)\src\m\intel386.h \
556         $(EMACS_ROOT)\src\config.h \
557         $(EMACS_ROOT)\nt\inc\sys\ioctl.h
559 $(BLD)\indent.obj : \
560         $(SRC)\indent.c \
561         $(EMACS_ROOT)\src\s\windowsnt.h \
562         $(EMACS_ROOT)\src\m\intel386.h \
563         $(EMACS_ROOT)\src\config.h \
564         $(SRC)\lisp.h \
565         $(SRC)\buffer.h \
566         $(SRC)\indent.h \
567         $(SRC)\frame.h \
568         $(SRC)\window.h \
569         $(SRC)\termchar.h \
570         $(SRC)\termopts.h \
571         $(SRC)\disptab.h \
572         $(SRC)\dispextern.h \
573         $(SRC)\intervals.h \
574         $(SRC)\region-cache.h
576 $(BLD)\insdel.obj : \
577         $(SRC)\insdel.c \
578         $(EMACS_ROOT)\src\s\windowsnt.h \
579         $(EMACS_ROOT)\src\m\intel386.h \
580         $(EMACS_ROOT)\src\config.h \
581         $(SRC)\lisp.h \
582         $(SRC)\dispextern.h \
583         $(SRC)\intervals.h \
584         $(SRC)\buffer.h \
585         $(SRC)\window.h \
586         $(SRC)\blockinput.h
588 $(BLD)\intervals.obj : \
589         $(SRC)\intervals.c \
590         $(EMACS_ROOT)\src\s\windowsnt.h \
591         $(EMACS_ROOT)\src\m\intel386.h \
592         $(EMACS_ROOT)\src\config.h \
593         $(SRC)\lisp.h \
594         $(SRC)\dispextern.h \
595         $(SRC)\intervals.h \
596         $(SRC)\buffer.h \
597         $(SRC)\puresize.h
598         $(CC) $(CFLAGS) -Fo$@ intervals.c
600 $(BLD)\keyboard.obj : \
601         $(SRC)\keyboard.c \
602         $(EMACS_ROOT)\src\s\windowsnt.h \
603         $(EMACS_ROOT)\src\m\intel386.h \
604         $(EMACS_ROOT)\src\config.h \
605         $(SRC)\termchar.h \
606         $(SRC)\termopts.h \
607         $(SRC)\lisp.h \
608         $(SRC)\termhooks.h \
609         $(SRC)\macros.h \
610         $(SRC)\frame.h \
611         $(SRC)\window.h \
612         $(SRC)\commands.h \
613         $(SRC)\buffer.h \
614         $(SRC)\disptab.h \
615         $(SRC)\keyboard.h \
616         $(SRC)\dispextern.h \
617         $(SRC)\intervals.h \
618         $(SRC)\blockinput.h \
619         $(SRC)\msdos.h \
620         $(SRC)\syssignal.h \
621         $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
622         $(EMACS_ROOT)\nt\inc\sys\file.h \
623         $(SRC)\systty.h \
624         $(SRC)\xterm.h \
625         $(SRC)\vmstime.h \
626         $(SRC)\systime.h
628 $(BLD)\keymap.obj : \
629         $(SRC)\keymap.c \
630         $(EMACS_ROOT)\src\s\windowsnt.h \
631         $(EMACS_ROOT)\src\m\intel386.h \
632         $(EMACS_ROOT)\src\config.h \
633         $(SRC)\lisp.h \
634         $(SRC)\commands.h \
635         $(SRC)\buffer.h \
636         $(SRC)\keyboard.h \
637         $(SRC)\termhooks.h \
638         $(SRC)\blockinput.h
640 $(BLD)\lastfile.obj : \
641         $(SRC)\lastfile.c
643 $(BLD)\lread.obj : \
644         $(SRC)\lread.c \
645         $(EMACS_ROOT)\src\s\windowsnt.h \
646         $(EMACS_ROOT)\src\m\intel386.h \
647         $(EMACS_ROOT)\src\config.h \
648         $(EMACS_ROOT)\nt\inc\sys\file.h \
649         $(SRC)\lisp.h \
650         $(SRC)\buffer.h \
651         $(EMACS_ROOT)\src\paths.h \
652         $(SRC)\commands.h \
653         $(SRC)\keyboard.h \
654         $(SRC)\termhooks.h \
655         $(SRC)\msdos.h
657 $(BLD)\macros.obj : \
658         $(SRC)\macros.c \
659         $(EMACS_ROOT)\src\s\windowsnt.h \
660         $(EMACS_ROOT)\src\m\intel386.h \
661         $(EMACS_ROOT)\src\config.h \
662         $(SRC)\lisp.h \
663         $(SRC)\macros.h \
664         $(SRC)\commands.h \
665         $(SRC)\buffer.h \
666         $(SRC)\window.h
668 $(BLD)\marker.obj : \
669         $(SRC)\marker.c \
670         $(EMACS_ROOT)\src\s\windowsnt.h \
671         $(EMACS_ROOT)\src\m\intel386.h \
672         $(EMACS_ROOT)\src\config.h \
673         $(SRC)\lisp.h \
674         $(SRC)\buffer.h
676 $(BLD)\minibuf.obj : \
677         $(SRC)\minibuf.c \
678         $(EMACS_ROOT)\src\s\windowsnt.h \
679         $(EMACS_ROOT)\src\m\intel386.h \
680         $(EMACS_ROOT)\src\config.h \
681         $(SRC)\lisp.h \
682         $(SRC)\commands.h \
683         $(SRC)\buffer.h \
684         $(SRC)\dispextern.h \
685         $(SRC)\frame.h \
686         $(SRC)\window.h \
687         $(SRC)\syntax.h
689 $(BLD)\mocklisp.obj : \
690         $(SRC)\mocklisp.c \
691         $(EMACS_ROOT)\src\s\windowsnt.h \
692         $(EMACS_ROOT)\src\m\intel386.h \
693         $(EMACS_ROOT)\src\config.h \
694         $(SRC)\lisp.h \
695         $(SRC)\buffer.h
697 $(BLD)\nt.obj : \
698         $(SRC)\nt.c \
699         $(SRC)\s\windowsnt.h \
700         $(SRC)\m\intel386.h \
701         $(SRC)\config.h \
702         $(SRC)\lisp.h \
703         $(EMACS_ROOT)\nt\inc\pwd.h \
704         $(SRC)\ntheap.h
706 $(BLD)\ntheap.obj : \
707         $(SRC)\ntheap.c \
708         $(SRC)\ntheap.h
710 $(BLD)\ntinevt.obj : \
711         $(SRC)\ntinevt.c \
712         $(SRC)\s\windowsnt.h \
713         $(SRC)\m\intel386.h \
714         $(SRC)\config.h \
715         $(SRC)\lisp.h \
716         $(SRC)\frame.h \
717         $(SRC)\blockinput.h \
718         $(SRC)\termhooks.h
720 $(BLD)\ntproc.obj : \
721         $(SRC)\ntproc.c \
722         $(SRC)\s\windowsnt.h \
723         $(SRC)\m\intel386.h \
724         $(SRC)\config.h \
725         $(SRC)\lisp.h \
726         $(SRC)\nt.h \
727         $(SRC)\vmstime.h \
728         $(SRC)\systime.h
730 $(BLD)\ntterm.obj : \
731         $(SRC)\ntterm.c \
732         $(SRC)\s\windowsnt.h \
733         $(SRC)\m\intel386.h \
734         $(SRC)\config.h \
735         $(SRC)\lisp.h \
736         $(SRC)\frame.h \
737         $(SRC)\disptab.h \
738         $(SRC)\termhooks.h \
739         $(SRC)\ntinevt.h
741 $(BLD)\prefix-args.obj : \
742         $(SRC)\prefix-args.c
744 $(BLD)\print.obj : \
745         $(SRC)\print.c \
746         $(EMACS_ROOT)\src\s\windowsnt.h \
747         $(EMACS_ROOT)\src\m\intel386.h \
748         $(EMACS_ROOT)\src\config.h \
749         $(SRC)\lisp.h \
750         $(SRC)\buffer.h \
751         $(SRC)\frame.h \
752         $(SRC)\window.h \
753         $(SRC)\process.h \
754         $(SRC)\termchar.h \
755         $(SRC)\dispextern.h \
756         $(SRC)\intervals.h
758 $(BLD)\process.obj : \
759         $(SRC)\process.c \
760         $(EMACS_ROOT)\src\s\windowsnt.h \
761         $(EMACS_ROOT)\src\m\intel386.h \
762         $(EMACS_ROOT)\src\config.h \
763         $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
764         $(EMACS_ROOT)\nt\inc\sys\file.h \
765         $(SRC)\systty.h \
766         $(SRC)\window.h \
767         $(SRC)\buffer.h \
768         $(SRC)\process.h \
769         $(SRC)\termhooks.h \
770         $(SRC)\commands.h \
771         $(SRC)\frame.h \
772         $(SRC)\syssignal.h \
773         $(SRC)\vmsproc.h \
774         $(SRC)\syswait.h \
775         $(SRC)\lisp.h \
776         $(SRC)\vmstime.h \
777         $(SRC)\systime.h \
778         $(SRC)\termopts.h
780 $(BLD)\ralloc.obj : \
781         $(SRC)\ralloc.c \
782         $(EMACS_ROOT)\src\s\windowsnt.h \
783         $(EMACS_ROOT)\src\m\intel386.h \
784         $(EMACS_ROOT)\src\config.h \
785         $(SRC)\lisp.h \
786         $(SRC)\s\windowsnt.h \
787         $(SRC)\m\intel386.h \
788         $(SRC)\config.h \
789         $(EMACS_ROOT)\nt\inc\sys\param.h \
790         $(SRC)\getpagesize.h
792 $(BLD)\regex.obj : \
793         $(SRC)\regex.c \
794         $(EMACS_ROOT)\src\s\windowsnt.h \
795         $(EMACS_ROOT)\src\m\intel386.h \
796         $(EMACS_ROOT)\src\config.h \
797         $(SRC)\s\windowsnt.h \
798         $(SRC)\m\intel386.h \
799         $(SRC)\config.h \
800         $(SRC)\lisp.h \
801         $(SRC)\buffer.h \
802         $(SRC)\syntax.h \
803         $(SRC)\regex.h
805 $(BLD)\region-cache.obj : \
806         $(SRC)\region-cache.c \
807         $(EMACS_ROOT)\src\s\windowsnt.h \
808         $(EMACS_ROOT)\src\m\intel386.h \
809         $(EMACS_ROOT)\src\config.h \
810         $(SRC)\lisp.h \
811         $(SRC)\buffer.h \
812         $(SRC)\region-cache.h
814 $(BLD)\scroll.obj : \
815         $(SRC)\scroll.c \
816         $(EMACS_ROOT)\src\s\windowsnt.h \
817         $(EMACS_ROOT)\src\m\intel386.h \
818         $(EMACS_ROOT)\src\config.h \
819         $(SRC)\termchar.h \
820         $(SRC)\lisp.h \
821         $(SRC)\dispextern.h \
822         $(SRC)\frame.h
824 $(BLD)\search.obj : \
825         $(SRC)\search.c \
826         $(EMACS_ROOT)\src\s\windowsnt.h \
827         $(EMACS_ROOT)\src\m\intel386.h \
828         $(EMACS_ROOT)\src\config.h \
829         $(SRC)\lisp.h \
830         $(SRC)\syntax.h \
831         $(SRC)\buffer.h \
832         $(SRC)\commands.h \
833         $(SRC)\blockinput.h \
834         $(SRC)\regex.h \
835         $(SRC)\region-cache.h
837 $(BLD)\strftime.obj : \
838         $(SRC)\strftime.c \
839         $(EMACS_ROOT)\src\s\windowsnt.h \
840         $(EMACS_ROOT)\src\m\intel386.h \
841         $(EMACS_ROOT)\src\config.h
842         $(CC) $(CFLAGS) -Dstrftime=emacs_strftime -Fo$@ strftime.c
844 $(BLD)\sunfns.obj : \
845         $(SRC)\sunfns.c \
846         $(EMACS_ROOT)\src\s\windowsnt.h \
847         $(EMACS_ROOT)\src\m\intel386.h \
848         $(EMACS_ROOT)\src\config.h \
849         $(SRC)\lisp.h \
850         $(SRC)\window.h \
851         $(SRC)\buffer.h \
852         $(SRC)\termhooks.h
854 $(BLD)\syntax.obj : \
855         $(SRC)\syntax.c \
856         $(EMACS_ROOT)\src\s\windowsnt.h \
857         $(EMACS_ROOT)\src\m\intel386.h \
858         $(EMACS_ROOT)\src\config.h \
859         $(SRC)\lisp.h \
860         $(SRC)\commands.h \
861         $(SRC)\buffer.h \
862         $(SRC)\syntax.h
864 $(BLD)\sysdep.obj : \
865         $(SRC)\sysdep.c \
866         $(EMACS_ROOT)\src\s\windowsnt.h \
867         $(EMACS_ROOT)\src\m\intel386.h \
868         $(EMACS_ROOT)\src\config.h \
869         $(SRC)\lisp.h \
870         $(SRC)\blockinput.h \
871         $(SRC)\dosfns.h \
872         $(SRC)\msdos.h \
873         $(EMACS_ROOT)\nt\inc\sys\param.h \
874         $(EMACS_ROOT)\nt\inc\sys\file.h \
875         $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
876         $(EMACS_ROOT)\nt\inc\sys\file.h \
877         $(SRC)\systty.h \
878         $(SRC)\vmsproc.h \
879         $(SRC)\syswait.h \
880         $(SRC)\frame.h \
881         $(SRC)\window.h \
882         $(SRC)\termhooks.h \
883         $(SRC)\termchar.h \
884         $(SRC)\termopts.h \
885         $(SRC)\dispextern.h \
886         $(SRC)\process.h \
887         $(SRC)\vmsdir.h \
888         $(SRC)\ndir.h \
889         $(SRC)\syssignal.h \
890         $(SRC)\vmstime.h \
891         $(SRC)\systime.h \
892         $(SRC)\uaf.h \
893         $(SRC)\vms-pwd.h \
894         $(EMACS_ROOT)\src\acldef.h \
895         $(EMACS_ROOT)\src\chpdef.h
897 $(BLD)\term.obj : \
898         $(SRC)\term.c \
899         $(EMACS_ROOT)\src\s\windowsnt.h \
900         $(EMACS_ROOT)\src\m\intel386.h \
901         $(EMACS_ROOT)\src\config.h \
902         $(SRC)\termchar.h \
903         $(SRC)\termopts.h \
904         $(SRC)\cm.h \
905         $(SRC)\lisp.h \
906         $(SRC)\frame.h \
907         $(SRC)\disptab.h \
908         $(SRC)\termhooks.h \
909         $(SRC)\keyboard.h
911 $(BLD)\termcap.obj : \
912         $(SRC)\termcap.c \
913         $(EMACS_ROOT)\src\s\windowsnt.h \
914         $(EMACS_ROOT)\src\m\intel386.h \
915         $(EMACS_ROOT)\src\config.h \
916         $(EMACS_ROOT)\nt\inc\sys\file.h
918 $(BLD)\terminfo.obj : \
919         $(SRC)\terminfo.c
921 $(BLD)\textprop.obj : \
922         $(SRC)\textprop.c \
923         $(EMACS_ROOT)\src\s\windowsnt.h \
924         $(EMACS_ROOT)\src\m\intel386.h \
925         $(EMACS_ROOT)\src\config.h \
926         $(SRC)\lisp.h \
927         $(SRC)\dispextern.h \
928         $(SRC)\intervals.h \
929         $(SRC)\buffer.h \
930         $(SRC)\window.h
932 $(BLD)\tparam.obj : \
933         $(SRC)\tparam.c \
934         $(EMACS_ROOT)\src\s\windowsnt.h \
935         $(EMACS_ROOT)\src\m\intel386.h \
936         $(EMACS_ROOT)\src\config.h
938 $(BLD)\undo.obj : \
939         $(SRC)\undo.c \
940         $(EMACS_ROOT)\src\s\windowsnt.h \
941         $(EMACS_ROOT)\src\m\intel386.h \
942         $(EMACS_ROOT)\src\config.h \
943         $(SRC)\lisp.h \
944         $(SRC)\buffer.h \
945         $(SRC)\commands.h
947 $(BLD)\unexnt.obj : \
948         $(SRC)\unexnt.c \
949         $(SRC)\ntheap.h
951 $(BLD)\vm-limit.obj : \
952         $(SRC)\vm-limit.c \
953         $(EMACS_ROOT)\src\s\windowsnt.h \
954         $(EMACS_ROOT)\src\m\intel386.h \
955         $(EMACS_ROOT)\src\config.h \
956         $(SRC)\mem-limits.h     
958 $(BLD)\widget.obj : \
959         $(SRC)\widget.c \
960         $(EMACS_ROOT)\src\s\windowsnt.h \
961         $(EMACS_ROOT)\src\m\intel386.h \
962         $(EMACS_ROOT)\src\config.h \
963         $(SRC)\lisp.h \
964         $(SRC)\xterm.h \
965         $(SRC)\frame.h \
966         $(SRC)\dispextern.h \
967         $(SRC)\widget.h \
968         $(SRC)\widgetprv.h
970 $(BLD)\window.obj : \
971         $(SRC)\window.c \
972         $(EMACS_ROOT)\src\s\windowsnt.h \
973         $(EMACS_ROOT)\src\m\intel386.h \
974         $(EMACS_ROOT)\src\config.h \
975         $(SRC)\lisp.h \
976         $(SRC)\buffer.h \
977         $(SRC)\frame.h \
978         $(SRC)\window.h \
979         $(SRC)\commands.h \
980         $(SRC)\indent.h \
981         $(SRC)\termchar.h \
982         $(SRC)\disptab.h \
983         $(SRC)\keyboard.h
985 $(BLD)\xdisp.obj : \
986         $(SRC)\xdisp.c \
987         $(EMACS_ROOT)\src\s\windowsnt.h \
988         $(EMACS_ROOT)\src\m\intel386.h \
989         $(EMACS_ROOT)\src\config.h \
990         $(SRC)\lisp.h \
991         $(SRC)\frame.h \
992         $(SRC)\window.h \
993         $(SRC)\termchar.h \
994         $(SRC)\buffer.h \
995         $(SRC)\indent.h \
996         $(SRC)\commands.h \
997         $(SRC)\macros.h \
998         $(SRC)\disptab.h \
999         $(SRC)\termhooks.h \
1000         $(SRC)\dispextern.h \
1001         $(SRC)\intervals.h