(Fccl_execute_on_string): Put \n\ at end-of-line of
[bpt/emacs.git] / src / makefile.nt
1 # Makefile for GNU Emacs on the Microsoft W32 API.
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
5 #
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 the
20 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 # Boston, MA 02111-1307, USA.
22 #
23
24 #
25 # Sets up the system dependent macros.
26 #
27 !include ..\nt\makefile.def
28
29 SUBSYSTEM=console
30
31 #
32 # HAVE_CONFIG_H is required by some generic gnu sources stuck into
33 # the emacs source tree.
34 #
35 LOCAL_FLAGS = -Demacs=1 -DWINDOWSNT -DDOS_NT -DHAVE_CONFIG_H -I..\nt\inc
36
37 EMACS = $(BLD)\emacs.exe
38 TEMACS = $(BLD)\temacs.exe
39 TLIB0 = $(BLD)\temacs0.lib
40 TLIB1 = $(BLD)\temacs1.lib
41 TLIB2 = $(BLD)\temacs2.lib
42 !IFDEF NTGUI
43 TLIBW32 = $(BLD)\temacw32.lib
44 !ELSE
45 TLIBW32 =
46 !ENDIF
47 TOBJ = $(BLD)\firstfile.obj
48 !if $(MSVCNT11)
49 TRES = $(BLD)\emacs.res
50 !else
51 TRES = $(BLD)\emacs.rbj
52 !endif
53 TLASTLIB = $(BLD)\lastfile.lib
54
55 # see comments in allocate_heap in w32heap.c before changing any of the
56 # -stack, -heap, or -base settings.
57 LINK_FLAGS = $(ARCH_LDFLAGS) -stack:0x00800000 -heap:0x00100000 -base:0x01000000 -debug:full -pdb:$(BLD)\temacs.pdb -machine:$(ARCH) -subsystem:$(SUBSYSTEM) -entry:_start -map:$(BLD)\temacs.map
58
59 #
60 # Split up the objects into two sets so that we don't run out of
61 # command line space when we link them into a library.
62 #
63 # Put emacs.obj in a separate lib, since we need to have firstfile.obj
64 # as the "main" object file when linking.
65 #
66 OBJ0 = $(BLD)\emacs.obj
67
68 OBJ1 = $(BLD)\abbrev.obj \
69 $(BLD)\alloc.obj \
70 $(BLD)\alloca.obj \
71 $(BLD)\buffer.obj \
72 $(BLD)\bytecode.obj \
73 $(BLD)\callint.obj \
74 $(BLD)\callproc.obj \
75 $(BLD)\casefiddle.obj \
76 $(BLD)\cm.obj \
77 $(BLD)\cmds.obj \
78 $(BLD)\data.obj \
79 $(BLD)\dired.obj \
80 $(BLD)\dispnew.obj \
81 $(BLD)\doc.obj \
82 $(BLD)\doprnt.obj \
83 $(BLD)\editfns.obj \
84 $(BLD)\eval.obj \
85 $(BLD)\fileio.obj \
86 $(BLD)\filelock.obj \
87 $(BLD)\filemode.obj \
88 $(BLD)\fns.obj \
89 $(BLD)\indent.obj \
90 $(BLD)\insdel.obj \
91 $(BLD)\keyboard.obj \
92 $(BLD)\keymap.obj \
93 $(BLD)\lread.obj \
94 $(BLD)\macros.obj \
95 $(BLD)\marker.obj \
96 $(BLD)\minibuf.obj \
97 $(BLD)\mocklisp.obj
98
99 OBJ2 = $(BLD)\w32.obj \
100 $(BLD)\w32heap.obj \
101 $(BLD)\w32inevt.obj \
102 $(BLD)\w32proc.obj \
103 $(BLD)\w32console.obj \
104 $(BLD)\print.obj \
105 $(BLD)\process.obj \
106 $(BLD)\regex.obj \
107 $(BLD)\scroll.obj \
108 $(BLD)\search.obj \
109 $(BLD)\syntax.obj \
110 $(BLD)\sysdep.obj \
111 $(BLD)\term.obj \
112 $(BLD)\termcap.obj \
113 $(BLD)\tparam.obj \
114 $(BLD)\undo.obj \
115 $(BLD)\unexw32.obj \
116 $(BLD)\window.obj \
117 $(BLD)\xdisp.obj \
118 $(BLD)\casetab.obj \
119 $(BLD)\floatfns.obj \
120 $(BLD)\frame.obj \
121 $(BLD)\gmalloc.obj \
122 $(BLD)\intervals.obj \
123 $(BLD)\ralloc.obj \
124 $(BLD)\textprop.obj \
125 $(BLD)\vm-limit.obj \
126 $(BLD)\region-cache.obj \
127 $(BLD)\strftime.obj \
128 $(BLD)\charset.obj \
129 $(BLD)\coding.obj \
130 $(BLD)\category.obj \
131 $(BLD)\ccl.obj \
132 $(BLD)\fontset.obj
133
134 WIN32OBJ = $(BLD)\w32term.obj \
135 $(BLD)\w32xfns.obj \
136 $(BLD)\w32fns.obj \
137 $(BLD)\w32faces.obj \
138 $(BLD)\w32select.obj \
139 $(BLD)\w32menu.obj \
140 $(BLD)\w32reg.obj
141
142 LIBS = $(TLIB0) \
143 $(TLIB1) \
144 $(TLIB2) \
145 !IFDEF NTGUI
146 $(TLIBW32) \
147 !ENDIF
148 $(TLASTLIB) \
149 !IFDEF NTGUI
150 gdi32.lib \
151 comdlg32.lib \
152 !ENDIF
153 # libcmt.lib \
154 $(BASE_LIBS) \
155 $(ADVAPI32) \
156 user32.lib \
157 mpr.lib
158
159 #
160 # Build the executable and dump it.
161 #
162 all: $(BLD) $(EMACS)
163
164 #
165 # Headers we would preprocess if we could.
166 #
167 PREPARED_HEADERS = config.h paths.h
168 config.h: ..\nt\$(CONFIG_H)
169 $(CP) $** $@
170 paths.h: ..\nt\paths.h
171 $(CP) $** $@
172
173 #
174 # Make sure we have the DOC file in the right place.
175 #
176 DOC = $(OBJDIR)\etc\DOC-X
177 $(DOC):; cd ..\lib-src
178 - $(DEL) DOC-X
179 $(MAKE) -f makefile.nt all
180 cd ..\src
181
182 #
183 # The dumped executable
184 #
185 emacs: $(EMACS)
186 $(EMACS): $(PREPARED_HEADERS) $(DOC) $(TEMACS)
187 cd $(BLD)
188 temacs.exe -batch -l loadup dump
189 copy temacs.map emacs.map
190 cd ..\..
191
192 #
193 # The undumped executable
194 #
195 temacs: $(BLD) $(TEMACS)
196 $(TEMACS): $(TLIB0) $(TLIB1) $(TLIB2) $(TLIBW32) $(TLASTLIB) $(TOBJ) $(TRES)
197 $(LINK) -out:$(TEMACS) $(LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS)
198
199 #
200 # The resource file. NT 3.10 requires the use of cvtres; even though
201 # it is not necessary on later versions, it is still ok to use it.
202 #
203 $(TRES): ..\nt\emacs.rc
204 $(RC) -i..\nt -Fo$(BLD)\emacs.res $**
205 !if !$(MSVCNT11)
206 $(CVTRES) -r -$(ARCH) -o $@ $(BLD)\emacs.res
207 !endif
208
209 #
210 # Build the library. Split up the build into two phases...otherwise we
211 # run out of command line space.
212 #
213 $(TLIB0): $(OBJ0)
214 @- $(AR) -out:$@ $**
215 $(TLIB1): $(OBJ1)
216 @- $(AR) -out:$@ $**
217 $(TLIB2): $(OBJ2)
218 @- $(AR) -out:$@ $**
219 !IFDEF NTGUI
220 $(TLIBW32): $(WIN32OBJ)
221 @- $(AR) -out:$@ $**
222 !ENDIF
223
224 #
225 # Place lastfile.obj in its own library so that it can be loaded after
226 # the source libraries but before any system libraries. Doing so defines
227 # the end of Emacs' data section portably across compilers and systems.
228 #
229 $(TLASTLIB): $(BLD)\lastfile.obj
230 @- $(AR) -out:$@ $**
231
232 #
233 # Object files.
234 #
235 .c{$(BLD)}.obj:
236 $(CC) $(CFLAGS) -Fo$@ $<
237
238 #
239 # Assuming INSTALL_DIR is defined, build and install emacs in it.
240 #
241 install: all
242 - mkdir $(INSTALL_DIR)\bin
243 $(CP) $(EMACS) $(INSTALL_DIR)\bin
244
245 #
246 # Maintenance
247 #
248 clean:; - $(DEL) *~ *.pdb config.h paths.h
249 - $(DEL_TREE) deleted
250 - $(DEL_TREE) $(OBJDIR)
251
252 #
253 # These files are the ones that compile conditionally on CANNOT_DUMP...
254 # this target is mostly used for debugging.
255 #
256 cleandump:; cd $(BLD)
257 - $(DEL) callproc.obj data.obj dispnew.obj doc.obj editfns.obj emacs.obj lread.obj process.obj sysdep.obj term.obj w32heap.obj unexw32.obj
258 cd ..\..
259
260
261 ### DEPENDENCIES ###
262
263 EMACS_ROOT = ..
264 SRC = .
265
266 $(BLD)\abbrev.obj : \
267 $(SRC)\abbrev.c \
268 $(EMACS_ROOT)\src\s\ms-w32.h \
269 $(EMACS_ROOT)\src\m\intel386.h \
270 $(EMACS_ROOT)\src\config.h \
271 $(SRC)\lisp.h \
272 $(SRC)\commands.h \
273 $(SRC)\buffer.h \
274 $(SRC)\window.h
275
276 $(BLD)\alloc.obj : \
277 $(SRC)\alloc.c \
278 $(EMACS_ROOT)\src\s\ms-w32.h \
279 $(EMACS_ROOT)\src\m\intel386.h \
280 $(EMACS_ROOT)\src\config.h \
281 $(SRC)\lisp.h \
282 $(SRC)\dispextern.h \
283 $(SRC)\intervals.h \
284 $(SRC)\puresize.h \
285 $(SRC)\buffer.h \
286 $(SRC)\window.h \
287 $(SRC)\frame.h \
288 $(SRC)\blockinput.h \
289 $(SRC)\syssignal.h
290
291 $(BLD)\alloca.obj : \
292 $(SRC)\alloca.c \
293 $(EMACS_ROOT)\src\s\ms-w32.h \
294 $(EMACS_ROOT)\src\m\intel386.h \
295 $(EMACS_ROOT)\src\config.h \
296 $(SRC)\s\ms-w32.h \
297 $(SRC)\m\intel386.h \
298 $(SRC)\config.h \
299 $(SRC)\blockinput.h
300
301 $(BLD)\buffer.obj : \
302 $(SRC)\buffer.c \
303 $(EMACS_ROOT)\nt\inc\sys\param.h \
304 $(EMACS_ROOT)\src\s\ms-w32.h \
305 $(EMACS_ROOT)\src\m\intel386.h \
306 $(EMACS_ROOT)\src\config.h \
307 $(SRC)\lisp.h \
308 $(SRC)\dispextern.h \
309 $(SRC)\intervals.h \
310 $(SRC)\window.h \
311 $(SRC)\commands.h \
312 $(SRC)\buffer.h \
313 $(SRC)\indent.h \
314 $(SRC)\blockinput.h \
315 $(SRC)\region-cache.h
316
317 $(BLD)\bytecode.obj : \
318 $(SRC)\bytecode.c \
319 $(EMACS_ROOT)\src\s\ms-w32.h \
320 $(EMACS_ROOT)\src\m\intel386.h \
321 $(EMACS_ROOT)\src\config.h \
322 $(SRC)\lisp.h \
323 $(SRC)\buffer.h \
324 $(SRC)\syntax.h
325
326 $(BLD)\callint.obj : \
327 $(SRC)\callint.c \
328 $(EMACS_ROOT)\src\s\ms-w32.h \
329 $(EMACS_ROOT)\src\m\intel386.h \
330 $(EMACS_ROOT)\src\config.h \
331 $(SRC)\lisp.h \
332 $(SRC)\buffer.h \
333 $(SRC)\commands.h \
334 $(SRC)\keyboard.h \
335 $(SRC)\window.h \
336 $(SRC)\mocklisp.h
337
338 $(BLD)\callproc.obj : \
339 $(SRC)\callproc.c \
340 $(EMACS_ROOT)\src\s\ms-w32.h \
341 $(EMACS_ROOT)\src\m\intel386.h \
342 $(EMACS_ROOT)\src\config.h \
343 $(SRC)\msdos.h \
344 $(EMACS_ROOT)\nt\inc\sys\param.h \
345 $(SRC)\lisp.h \
346 $(SRC)\commands.h \
347 $(SRC)\buffer.h \
348 $(SRC)\process.h \
349 $(SRC)\syssignal.h \
350 $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
351 $(EMACS_ROOT)\nt\inc\sys\file.h \
352 $(SRC)\systty.h
353
354 $(BLD)\casefiddle.obj : \
355 $(SRC)\casefiddle.c \
356 $(EMACS_ROOT)\src\s\ms-w32.h \
357 $(EMACS_ROOT)\src\m\intel386.h \
358 $(EMACS_ROOT)\src\config.h \
359 $(SRC)\lisp.h \
360 $(SRC)\buffer.h \
361 $(SRC)\commands.h \
362 $(SRC)\syntax.h
363 $(CC) $(CFLAGS) -Fo$@ casefiddle.c
364
365 $(BLD)\casetab.obj : \
366 $(SRC)\casetab.c \
367 $(EMACS_ROOT)\src\s\ms-w32.h \
368 $(EMACS_ROOT)\src\m\intel386.h \
369 $(EMACS_ROOT)\src\config.h \
370 $(SRC)\lisp.h \
371 $(SRC)\buffer.h
372
373 $(BLD)\cm.obj : \
374 $(SRC)\cm.c \
375 $(EMACS_ROOT)\src\s\ms-w32.h \
376 $(EMACS_ROOT)\src\m\intel386.h \
377 $(EMACS_ROOT)\src\config.h \
378 $(SRC)\cm.h \
379 $(SRC)\termhooks.h
380
381 $(BLD)\cmds.obj : \
382 $(SRC)\cmds.c \
383 $(EMACS_ROOT)\src\s\ms-w32.h \
384 $(EMACS_ROOT)\src\m\intel386.h \
385 $(EMACS_ROOT)\src\config.h \
386 $(SRC)\lisp.h \
387 $(SRC)\commands.h \
388 $(SRC)\buffer.h \
389 $(SRC)\syntax.h
390
391 $(BLD)\data.obj : \
392 $(SRC)\data.c \
393 $(EMACS_ROOT)\src\s\ms-w32.h \
394 $(EMACS_ROOT)\src\m\intel386.h \
395 $(EMACS_ROOT)\src\config.h \
396 $(SRC)\lisp.h \
397 $(SRC)\puresize.h \
398 $(SRC)\buffer.h \
399 $(SRC)\syssignal.h
400
401 $(BLD)\dired.obj : \
402 $(SRC)\dired.c \
403 $(EMACS_ROOT)\src\s\ms-w32.h \
404 $(EMACS_ROOT)\src\m\intel386.h \
405 $(EMACS_ROOT)\src\config.h \
406 $(SRC)\vmsdir.h \
407 $(SRC)\ndir.h \
408 $(SRC)\lisp.h \
409 $(SRC)\buffer.h \
410 $(SRC)\commands.h \
411 $(SRC)\regex.h
412
413 $(BLD)\dispnew.obj : \
414 $(SRC)\dispnew.c \
415 $(EMACS_ROOT)\src\s\ms-w32.h \
416 $(EMACS_ROOT)\src\m\intel386.h \
417 $(EMACS_ROOT)\src\config.h \
418 $(SRC)\lisp.h \
419 $(SRC)\termchar.h \
420 $(SRC)\termopts.h \
421 $(SRC)\termhooks.h \
422 $(SRC)\cm.h \
423 $(SRC)\buffer.h \
424 $(SRC)\frame.h \
425 $(SRC)\window.h \
426 $(SRC)\commands.h \
427 $(SRC)\disptab.h \
428 $(SRC)\indent.h \
429 $(SRC)\dispextern.h \
430 $(SRC)\intervals.h \
431 $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
432 $(EMACS_ROOT)\nt\inc\sys\file.h \
433 $(SRC)\systty.h \
434 $(SRC)\w32term.h \
435 $(SRC)\xterm.h \
436 $(SRC)\vmstime.h \
437 $(SRC)\systime.h
438
439 $(BLD)\doc.obj : \
440 $(SRC)\doc.c \
441 $(EMACS_ROOT)\src\s\ms-w32.h \
442 $(EMACS_ROOT)\src\m\intel386.h \
443 $(EMACS_ROOT)\src\config.h \
444 $(EMACS_ROOT)\nt\inc\sys\file.h \
445 $(SRC)\lisp.h \
446 $(SRC)\buffer.h \
447 $(SRC)\keyboard.h
448
449 $(BLD)\doprnt.obj : \
450 $(SRC)\doprnt.c \
451 $(EMACS_ROOT)\src\s\ms-w32.h \
452 $(EMACS_ROOT)\src\m\intel386.h \
453 $(EMACS_ROOT)\src\config.h
454
455 $(BLD)\dosfns.obj : \
456 $(SRC)\dosfns.c \
457 $(EMACS_ROOT)\src\s\ms-w32.h \
458 $(EMACS_ROOT)\src\m\intel386.h \
459 $(EMACS_ROOT)\src\config.h \
460 $(SRC)\lisp.h \
461 $(SRC)\buffer.h \
462 $(SRC)\termchar.h \
463 $(SRC)\termhooks.h \
464 $(SRC)\frame.h \
465 $(SRC)\dosfns.h \
466 $(SRC)\msdos.h
467
468 $(BLD)\editfns.obj : \
469 $(SRC)\editfns.c \
470 $(EMACS_ROOT)\src\s\ms-w32.h \
471 $(EMACS_ROOT)\src\m\intel386.h \
472 $(EMACS_ROOT)\src\config.h \
473 $(SRC)\uaf.h \
474 $(SRC)\vms-pwd.h \
475 $(EMACS_ROOT)\nt\inc\pwd.h \
476 $(SRC)\lisp.h \
477 $(SRC)\dispextern.h \
478 $(SRC)\intervals.h \
479 $(SRC)\buffer.h \
480 $(SRC)\window.h \
481 $(SRC)\vmstime.h \
482 $(SRC)\systime.h
483
484 $(BLD)\emacs.obj : \
485 $(SRC)\emacs.c \
486 $(EMACS_ROOT)\src\s\ms-w32.h \
487 $(EMACS_ROOT)\src\m\intel386.h \
488 $(EMACS_ROOT)\src\config.h \
489 $(SRC)\lisp.h \
490 $(SRC)\commands.h \
491 $(SRC)\dispextern.h \
492 $(SRC)\intervals.h \
493 $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
494 $(EMACS_ROOT)\nt\inc\sys\file.h \
495 $(SRC)\systty.h \
496 $(SRC)\syssignal.h \
497 $(SRC)\process.h
498
499 $(BLD)\eval.obj : \
500 $(SRC)\eval.c \
501 $(EMACS_ROOT)\src\s\ms-w32.h \
502 $(EMACS_ROOT)\src\m\intel386.h \
503 $(EMACS_ROOT)\src\config.h \
504 $(SRC)\lisp.h \
505 $(SRC)\blockinput.h \
506 $(SRC)\commands.h \
507 $(SRC)\keyboard.h
508
509 $(BLD)\fileio.obj : \
510 $(SRC)\fileio.c \
511 $(EMACS_ROOT)\src\s\ms-w32.h \
512 $(EMACS_ROOT)\src\m\intel386.h \
513 $(EMACS_ROOT)\src\config.h \
514 $(SRC)\uaf.h \
515 $(SRC)\vms-pwd.h \
516 $(EMACS_ROOT)\nt\inc\pwd.h \
517 $(SRC)\msdos.h \
518 $(EMACS_ROOT)\nt\inc\sys\param.h \
519 $(SRC)\vmsdir.h \
520 $(SRC)\lisp.h \
521 $(SRC)\dispextern.h \
522 $(SRC)\intervals.h \
523 $(SRC)\buffer.h \
524 $(SRC)\window.h \
525 $(EMACS_ROOT)\nt\inc\sys\file.h \
526 $(SRC)\vmstime.h \
527 $(SRC)\systime.h
528
529 $(BLD)\filelock.obj : \
530 $(SRC)\filelock.c \
531 $(EMACS_ROOT)\src\s\ms-w32.h \
532 $(EMACS_ROOT)\src\m\intel386.h \
533 $(EMACS_ROOT)\src\config.h \
534 $(SRC)\uaf.h \
535 $(SRC)\vms-pwd.h \
536 $(EMACS_ROOT)\nt\inc\pwd.h \
537 $(EMACS_ROOT)\nt\inc\sys\file.h \
538 $(SRC)\lisp.h \
539 $(EMACS_ROOT)\src\paths.h \
540 $(SRC)\buffer.h \
541 $(SRC)\vmsdir.h \
542 $(SRC)\ndir.h
543
544 $(BLD)\filemode.obj : \
545 $(SRC)\filemode.c \
546 $(EMACS_ROOT)\src\s\ms-w32.h \
547 $(EMACS_ROOT)\src\m\intel386.h \
548 $(EMACS_ROOT)\src\config.h \
549 $(SRC)\s\ms-w32.h \
550 $(SRC)\m\intel386.h \
551 $(SRC)\config.h
552
553 $(BLD)\firstfile.obj : \
554 $(SRC)\firstfile.c \
555 $(EMACS_ROOT)\src\s\ms-w32.h \
556 $(EMACS_ROOT)\src\m\intel386.h \
557 $(EMACS_ROOT)\src\config.h
558
559 $(BLD)\floatfns.obj : \
560 $(SRC)\floatfns.c \
561 $(EMACS_ROOT)\src\s\ms-w32.h \
562 $(EMACS_ROOT)\src\m\intel386.h \
563 $(EMACS_ROOT)\src\config.h \
564 $(SRC)\lisp.h \
565 $(SRC)\syssignal.h
566
567 $(BLD)\fns.obj : \
568 $(SRC)\fns.c \
569 $(EMACS_ROOT)\src\s\ms-w32.h \
570 $(EMACS_ROOT)\src\m\intel386.h \
571 $(EMACS_ROOT)\src\config.h \
572 $(SRC)\lisp.h \
573 $(SRC)\commands.h \
574 $(SRC)\buffer.h \
575 $(SRC)\keyboard.h \
576 $(SRC)\dispextern.h \
577 $(SRC)\intervals.h
578
579 $(BLD)\frame.obj : \
580 $(SRC)\frame.c \
581 $(EMACS_ROOT)\src\s\ms-w32.h \
582 $(EMACS_ROOT)\src\m\intel386.h \
583 $(EMACS_ROOT)\src\config.h \
584 $(SRC)\lisp.h \
585 $(SRC)\frame.h \
586 $(SRC)\termhooks.h \
587 $(SRC)\window.h \
588 $(SRC)\buffer.h \
589 $(SRC)\commands.h \
590 $(SRC)\keyboard.h
591
592 $(BLD)\getloadavg.obj : \
593 $(SRC)\getloadavg.c \
594 $(EMACS_ROOT)\nt\inc\sys\param.h \
595 $(EMACS_ROOT)\src\s\ms-w32.h \
596 $(EMACS_ROOT)\src\m\intel386.h \
597 $(EMACS_ROOT)\src\config.h \
598 $(SRC)\s\ms-w32.h \
599 $(SRC)\m\intel386.h \
600 $(SRC)\config.h \
601 $(EMACS_ROOT)\nt\inc\sys\file.h
602
603 $(BLD)\gmalloc.obj : \
604 $(SRC)\gmalloc.c \
605 $(EMACS_ROOT)\src\s\ms-w32.h \
606 $(EMACS_ROOT)\src\m\intel386.h \
607 $(EMACS_ROOT)\src\config.h \
608 $(EMACS_ROOT)\nt\inc\sys\param.h \
609 $(SRC)\getpagesize.h
610 $(CC) $(CFLAGS) -D__STDC__ -Fo$@ gmalloc.c
611
612 $(BLD)\hftctl.obj : \
613 $(SRC)\hftctl.c \
614 $(EMACS_ROOT)\src\s\ms-w32.h \
615 $(EMACS_ROOT)\src\m\intel386.h \
616 $(EMACS_ROOT)\src\config.h \
617 $(EMACS_ROOT)\nt\inc\sys\ioctl.h
618
619 $(BLD)\indent.obj : \
620 $(SRC)\indent.c \
621 $(EMACS_ROOT)\src\s\ms-w32.h \
622 $(EMACS_ROOT)\src\m\intel386.h \
623 $(EMACS_ROOT)\src\config.h \
624 $(SRC)\lisp.h \
625 $(SRC)\buffer.h \
626 $(SRC)\indent.h \
627 $(SRC)\frame.h \
628 $(SRC)\window.h \
629 $(SRC)\termchar.h \
630 $(SRC)\termopts.h \
631 $(SRC)\disptab.h \
632 $(SRC)\dispextern.h \
633 $(SRC)\intervals.h \
634 $(SRC)\region-cache.h
635
636 $(BLD)\insdel.obj : \
637 $(SRC)\insdel.c \
638 $(EMACS_ROOT)\src\s\ms-w32.h \
639 $(EMACS_ROOT)\src\m\intel386.h \
640 $(EMACS_ROOT)\src\config.h \
641 $(SRC)\lisp.h \
642 $(SRC)\dispextern.h \
643 $(SRC)\intervals.h \
644 $(SRC)\buffer.h \
645 $(SRC)\window.h \
646 $(SRC)\blockinput.h
647
648 $(BLD)\intervals.obj : \
649 $(SRC)\intervals.c \
650 $(EMACS_ROOT)\src\s\ms-w32.h \
651 $(EMACS_ROOT)\src\m\intel386.h \
652 $(EMACS_ROOT)\src\config.h \
653 $(SRC)\lisp.h \
654 $(SRC)\dispextern.h \
655 $(SRC)\intervals.h \
656 $(SRC)\buffer.h \
657 $(SRC)\puresize.h
658 $(CC) $(CFLAGS) -Fo$@ intervals.c
659
660 $(BLD)\keyboard.obj : \
661 $(SRC)\keyboard.c \
662 $(EMACS_ROOT)\src\s\ms-w32.h \
663 $(EMACS_ROOT)\src\m\intel386.h \
664 $(EMACS_ROOT)\src\config.h \
665 $(SRC)\termchar.h \
666 $(SRC)\termopts.h \
667 $(SRC)\lisp.h \
668 $(SRC)\termhooks.h \
669 $(SRC)\macros.h \
670 $(SRC)\frame.h \
671 $(SRC)\window.h \
672 $(SRC)\commands.h \
673 $(SRC)\buffer.h \
674 $(SRC)\disptab.h \
675 $(SRC)\keyboard.h \
676 $(SRC)\dispextern.h \
677 $(SRC)\intervals.h \
678 $(SRC)\blockinput.h \
679 $(SRC)\msdos.h \
680 $(SRC)\syssignal.h \
681 $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
682 $(EMACS_ROOT)\nt\inc\sys\file.h \
683 $(SRC)\systty.h \
684 $(SRC)\w32term.h \
685 $(SRC)\xterm.h \
686 $(SRC)\vmstime.h \
687 $(SRC)\systime.h
688
689 $(BLD)\keymap.obj : \
690 $(SRC)\keymap.c \
691 $(EMACS_ROOT)\src\s\ms-w32.h \
692 $(EMACS_ROOT)\src\m\intel386.h \
693 $(EMACS_ROOT)\src\config.h \
694 $(SRC)\lisp.h \
695 $(SRC)\commands.h \
696 $(SRC)\buffer.h \
697 $(SRC)\keyboard.h \
698 $(SRC)\termhooks.h \
699 $(SRC)\blockinput.h
700
701 $(BLD)\lastfile.obj : \
702 $(SRC)\lastfile.c \
703 $(EMACS_ROOT)\src\s\ms-w32.h \
704 $(EMACS_ROOT)\src\m\intel386.h \
705 $(EMACS_ROOT)\src\config.h
706
707 $(BLD)\lread.obj : \
708 $(SRC)\lread.c \
709 $(EMACS_ROOT)\src\s\ms-w32.h \
710 $(EMACS_ROOT)\src\m\intel386.h \
711 $(EMACS_ROOT)\src\config.h \
712 $(EMACS_ROOT)\nt\inc\sys\file.h \
713 $(SRC)\lisp.h \
714 $(SRC)\buffer.h \
715 $(EMACS_ROOT)\src\paths.h \
716 $(SRC)\commands.h \
717 $(SRC)\keyboard.h \
718 $(SRC)\termhooks.h \
719 $(SRC)\msdos.h
720
721 $(BLD)\macros.obj : \
722 $(SRC)\macros.c \
723 $(EMACS_ROOT)\src\s\ms-w32.h \
724 $(EMACS_ROOT)\src\m\intel386.h \
725 $(EMACS_ROOT)\src\config.h \
726 $(SRC)\lisp.h \
727 $(SRC)\macros.h \
728 $(SRC)\commands.h \
729 $(SRC)\buffer.h \
730 $(SRC)\window.h
731
732 $(BLD)\marker.obj : \
733 $(SRC)\marker.c \
734 $(EMACS_ROOT)\src\s\ms-w32.h \
735 $(EMACS_ROOT)\src\m\intel386.h \
736 $(EMACS_ROOT)\src\config.h \
737 $(SRC)\lisp.h \
738 $(SRC)\buffer.h
739
740 $(BLD)\minibuf.obj : \
741 $(SRC)\minibuf.c \
742 $(EMACS_ROOT)\src\s\ms-w32.h \
743 $(EMACS_ROOT)\src\m\intel386.h \
744 $(EMACS_ROOT)\src\config.h \
745 $(SRC)\lisp.h \
746 $(SRC)\commands.h \
747 $(SRC)\buffer.h \
748 $(SRC)\dispextern.h \
749 $(SRC)\frame.h \
750 $(SRC)\window.h \
751 $(SRC)\syntax.h
752
753 $(BLD)\mocklisp.obj : \
754 $(SRC)\mocklisp.c \
755 $(EMACS_ROOT)\src\s\ms-w32.h \
756 $(EMACS_ROOT)\src\m\intel386.h \
757 $(EMACS_ROOT)\src\config.h \
758 $(SRC)\lisp.h \
759 $(SRC)\buffer.h
760
761 $(BLD)\w32.obj : \
762 $(SRC)\w32.c \
763 $(SRC)\w32.h \
764 $(SRC)\s\ms-w32.h \
765 $(SRC)\m\intel386.h \
766 $(SRC)\config.h \
767 $(SRC)\lisp.h \
768 $(EMACS_ROOT)\nt\inc\pwd.h \
769 $(SRC)\w32heap.h
770
771 $(BLD)\w32heap.obj : \
772 $(SRC)\w32heap.c \
773 $(SRC)\w32heap.h \
774 $(SRC)\s\ms-w32.h \
775 $(SRC)\m\intel386.h \
776 $(SRC)\config.h
777
778 $(BLD)\w32inevt.obj : \
779 $(SRC)\w32inevt.c \
780 $(SRC)\s\ms-w32.h \
781 $(SRC)\m\intel386.h \
782 $(SRC)\config.h \
783 $(SRC)\lisp.h \
784 $(SRC)\frame.h \
785 $(SRC)\blockinput.h \
786 $(SRC)\termhooks.h
787
788 $(BLD)\w32proc.obj : \
789 $(SRC)\w32proc.c \
790 $(SRC)\s\ms-w32.h \
791 $(SRC)\m\intel386.h \
792 $(SRC)\config.h \
793 $(SRC)\lisp.h \
794 $(SRC)\w32.h \
795 $(SRC)\w32heap.h \
796 $(SRC)\vmstime.h \
797 $(SRC)\systime.h
798
799 $(BLD)\w32console.obj : \
800 $(SRC)\w32console.c \
801 $(SRC)\s\ms-w32.h \
802 $(SRC)\m\intel386.h \
803 $(SRC)\config.h \
804 $(SRC)\lisp.h \
805 $(SRC)\frame.h \
806 $(SRC)\disptab.h \
807 $(SRC)\termhooks.h \
808 $(SRC)\w32inevt.h
809
810 $(BLD)\prefix-args.obj : \
811 $(SRC)\prefix-args.c
812
813 $(BLD)\print.obj : \
814 $(SRC)\print.c \
815 $(EMACS_ROOT)\src\s\ms-w32.h \
816 $(EMACS_ROOT)\src\m\intel386.h \
817 $(EMACS_ROOT)\src\config.h \
818 $(SRC)\lisp.h \
819 $(SRC)\buffer.h \
820 $(SRC)\frame.h \
821 $(SRC)\window.h \
822 $(SRC)\process.h \
823 $(SRC)\termchar.h \
824 $(SRC)\dispextern.h \
825 $(SRC)\intervals.h
826
827 $(BLD)\process.obj : \
828 $(SRC)\process.c \
829 $(EMACS_ROOT)\src\s\ms-w32.h \
830 $(EMACS_ROOT)\src\m\intel386.h \
831 $(EMACS_ROOT)\src\config.h \
832 $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
833 $(EMACS_ROOT)\nt\inc\sys\file.h \
834 $(SRC)\systty.h \
835 $(SRC)\window.h \
836 $(SRC)\buffer.h \
837 $(SRC)\process.h \
838 $(SRC)\termhooks.h \
839 $(SRC)\commands.h \
840 $(SRC)\frame.h \
841 $(SRC)\syssignal.h \
842 $(SRC)\vmsproc.h \
843 $(SRC)\syswait.h \
844 $(SRC)\lisp.h \
845 $(SRC)\vmstime.h \
846 $(SRC)\systime.h \
847 $(SRC)\termopts.h
848
849 $(BLD)\ralloc.obj : \
850 $(SRC)\ralloc.c \
851 $(EMACS_ROOT)\src\s\ms-w32.h \
852 $(EMACS_ROOT)\src\m\intel386.h \
853 $(EMACS_ROOT)\src\config.h \
854 $(SRC)\lisp.h \
855 $(SRC)\s\ms-w32.h \
856 $(SRC)\m\intel386.h \
857 $(SRC)\config.h \
858 $(EMACS_ROOT)\nt\inc\sys\param.h \
859 $(SRC)\getpagesize.h
860
861 $(BLD)\regex.obj : \
862 $(SRC)\regex.c \
863 $(EMACS_ROOT)\src\s\ms-w32.h \
864 $(EMACS_ROOT)\src\m\intel386.h \
865 $(EMACS_ROOT)\src\config.h \
866 $(SRC)\s\ms-w32.h \
867 $(SRC)\m\intel386.h \
868 $(SRC)\config.h \
869 $(SRC)\lisp.h \
870 $(SRC)\buffer.h \
871 $(SRC)\syntax.h \
872 $(SRC)\regex.h
873
874 $(BLD)\region-cache.obj : \
875 $(SRC)\region-cache.c \
876 $(EMACS_ROOT)\src\s\ms-w32.h \
877 $(EMACS_ROOT)\src\m\intel386.h \
878 $(EMACS_ROOT)\src\config.h \
879 $(SRC)\lisp.h \
880 $(SRC)\buffer.h \
881 $(SRC)\region-cache.h
882
883 $(BLD)\scroll.obj : \
884 $(SRC)\scroll.c \
885 $(EMACS_ROOT)\src\s\ms-w32.h \
886 $(EMACS_ROOT)\src\m\intel386.h \
887 $(EMACS_ROOT)\src\config.h \
888 $(SRC)\termchar.h \
889 $(SRC)\lisp.h \
890 $(SRC)\dispextern.h \
891 $(SRC)\frame.h
892
893 $(BLD)\search.obj : \
894 $(SRC)\search.c \
895 $(EMACS_ROOT)\src\s\ms-w32.h \
896 $(EMACS_ROOT)\src\m\intel386.h \
897 $(EMACS_ROOT)\src\config.h \
898 $(SRC)\lisp.h \
899 $(SRC)\syntax.h \
900 $(SRC)\buffer.h \
901 $(SRC)\commands.h \
902 $(SRC)\blockinput.h \
903 $(SRC)\regex.h \
904 $(SRC)\region-cache.h
905
906 $(BLD)\strftime.obj : \
907 $(SRC)\strftime.c \
908 $(EMACS_ROOT)\src\s\ms-w32.h \
909 $(EMACS_ROOT)\src\m\intel386.h \
910 $(EMACS_ROOT)\src\config.h
911
912 $(BLD)\sunfns.obj : \
913 $(SRC)\sunfns.c \
914 $(EMACS_ROOT)\src\s\ms-w32.h \
915 $(EMACS_ROOT)\src\m\intel386.h \
916 $(EMACS_ROOT)\src\config.h \
917 $(SRC)\lisp.h \
918 $(SRC)\window.h \
919 $(SRC)\buffer.h \
920 $(SRC)\termhooks.h
921
922 $(BLD)\syntax.obj : \
923 $(SRC)\syntax.c \
924 $(EMACS_ROOT)\src\s\ms-w32.h \
925 $(EMACS_ROOT)\src\m\intel386.h \
926 $(EMACS_ROOT)\src\config.h \
927 $(SRC)\lisp.h \
928 $(SRC)\commands.h \
929 $(SRC)\buffer.h \
930 $(SRC)\syntax.h
931
932 $(BLD)\sysdep.obj : \
933 $(SRC)\sysdep.c \
934 $(EMACS_ROOT)\src\s\ms-w32.h \
935 $(EMACS_ROOT)\src\m\intel386.h \
936 $(EMACS_ROOT)\src\config.h \
937 $(SRC)\lisp.h \
938 $(SRC)\blockinput.h \
939 $(SRC)\dosfns.h \
940 $(SRC)\msdos.h \
941 $(EMACS_ROOT)\nt\inc\sys\param.h \
942 $(EMACS_ROOT)\nt\inc\sys\file.h \
943 $(EMACS_ROOT)\nt\inc\sys\ioctl.h \
944 $(EMACS_ROOT)\nt\inc\sys\file.h \
945 $(SRC)\systty.h \
946 $(SRC)\vmsproc.h \
947 $(SRC)\syswait.h \
948 $(SRC)\frame.h \
949 $(SRC)\window.h \
950 $(SRC)\termhooks.h \
951 $(SRC)\termchar.h \
952 $(SRC)\termopts.h \
953 $(SRC)\dispextern.h \
954 $(SRC)\process.h \
955 $(SRC)\vmsdir.h \
956 $(SRC)\ndir.h \
957 $(SRC)\syssignal.h \
958 $(SRC)\vmstime.h \
959 $(SRC)\systime.h \
960 $(SRC)\uaf.h \
961 $(SRC)\vms-pwd.h \
962 $(EMACS_ROOT)\src\acldef.h \
963 $(EMACS_ROOT)\src\chpdef.h
964
965 $(BLD)\term.obj : \
966 $(SRC)\term.c \
967 $(EMACS_ROOT)\src\s\ms-w32.h \
968 $(EMACS_ROOT)\src\m\intel386.h \
969 $(EMACS_ROOT)\src\config.h \
970 $(SRC)\termchar.h \
971 $(SRC)\termopts.h \
972 $(SRC)\cm.h \
973 $(SRC)\lisp.h \
974 $(SRC)\frame.h \
975 $(SRC)\disptab.h \
976 $(SRC)\termhooks.h \
977 $(SRC)\keyboard.h
978
979 $(BLD)\termcap.obj : \
980 $(SRC)\termcap.c \
981 $(EMACS_ROOT)\src\s\ms-w32.h \
982 $(EMACS_ROOT)\src\m\intel386.h \
983 $(EMACS_ROOT)\src\config.h \
984 $(EMACS_ROOT)\nt\inc\sys\file.h
985
986 $(BLD)\terminfo.obj : \
987 $(SRC)\terminfo.c
988
989 $(BLD)\textprop.obj : \
990 $(SRC)\textprop.c \
991 $(EMACS_ROOT)\src\s\ms-w32.h \
992 $(EMACS_ROOT)\src\m\intel386.h \
993 $(EMACS_ROOT)\src\config.h \
994 $(SRC)\lisp.h \
995 $(SRC)\dispextern.h \
996 $(SRC)\intervals.h \
997 $(SRC)\buffer.h \
998 $(SRC)\window.h
999
1000 $(BLD)\tparam.obj : \
1001 $(SRC)\tparam.c \
1002 $(EMACS_ROOT)\src\s\ms-w32.h \
1003 $(EMACS_ROOT)\src\m\intel386.h \
1004 $(EMACS_ROOT)\src\config.h
1005
1006 $(BLD)\undo.obj : \
1007 $(SRC)\undo.c \
1008 $(EMACS_ROOT)\src\s\ms-w32.h \
1009 $(EMACS_ROOT)\src\m\intel386.h \
1010 $(EMACS_ROOT)\src\config.h \
1011 $(SRC)\lisp.h \
1012 $(SRC)\buffer.h \
1013 $(SRC)\commands.h
1014
1015 $(BLD)\unexw32.obj : \
1016 $(SRC)\unexw32.c \
1017 $(EMACS_ROOT)\src\s\ms-w32.h \
1018 $(EMACS_ROOT)\src\m\intel386.h \
1019 $(EMACS_ROOT)\src\config.h \
1020 $(SRC)\w32heap.h
1021
1022 $(BLD)\vm-limit.obj : \
1023 $(SRC)\vm-limit.c \
1024 $(EMACS_ROOT)\src\s\ms-w32.h \
1025 $(EMACS_ROOT)\src\m\intel386.h \
1026 $(EMACS_ROOT)\src\config.h \
1027 $(SRC)\mem-limits.h
1028
1029 $(BLD)\widget.obj : \
1030 $(SRC)\widget.c \
1031 $(EMACS_ROOT)\src\s\ms-w32.h \
1032 $(EMACS_ROOT)\src\m\intel386.h \
1033 $(EMACS_ROOT)\src\config.h \
1034 $(SRC)\lisp.h \
1035 $(SRC)\xterm.h \
1036 $(SRC)\frame.h \
1037 $(SRC)\dispextern.h \
1038 $(SRC)\widget.h \
1039 $(SRC)\widgetprv.h
1040
1041 $(BLD)\window.obj : \
1042 $(SRC)\window.c \
1043 $(EMACS_ROOT)\src\s\ms-w32.h \
1044 $(EMACS_ROOT)\src\m\intel386.h \
1045 $(EMACS_ROOT)\src\config.h \
1046 $(SRC)\lisp.h \
1047 $(SRC)\buffer.h \
1048 $(SRC)\frame.h \
1049 $(SRC)\window.h \
1050 $(SRC)\commands.h \
1051 $(SRC)\indent.h \
1052 $(SRC)\termchar.h \
1053 $(SRC)\disptab.h \
1054 $(SRC)\keyboard.h
1055
1056 $(BLD)\xdisp.obj : \
1057 $(SRC)\xdisp.c \
1058 $(EMACS_ROOT)\src\s\ms-w32.h \
1059 $(EMACS_ROOT)\src\m\intel386.h \
1060 $(EMACS_ROOT)\src\config.h \
1061 $(SRC)\lisp.h \
1062 $(SRC)\frame.h \
1063 $(SRC)\window.h \
1064 $(SRC)\termchar.h \
1065 $(SRC)\buffer.h \
1066 $(SRC)\indent.h \
1067 $(SRC)\commands.h \
1068 $(SRC)\macros.h \
1069 $(SRC)\disptab.h \
1070 $(SRC)\termhooks.h \
1071 $(SRC)\dispextern.h \
1072 $(SRC)\intervals.h
1073
1074 $(BLD)\w32faces.obj: \
1075 $(EMACS_ROOT)\src\s\ms-w32.h \
1076 $(EMACS_ROOT)\src\m\intel386.h \
1077 $(EMACS_ROOT)\src\config.h \
1078 $(SRC)\w32faces.c \
1079 $(SRC)\lisp.h \
1080 $(SRC)\w32term.h \
1081 $(SRC)\w32gui.h \
1082 $(SRC)\buffer.h \
1083 $(SRC)\dispextern.h \
1084 $(SRC)\frame.h \
1085 $(SRC)\blockinput.h \
1086 $(SRC)\window.h \
1087 $(SRC)\intervals.h
1088
1089 $(BLD)\w32fns.obj: \
1090 $(EMACS_ROOT)\src\s\ms-w32.h \
1091 $(EMACS_ROOT)\src\m\intel386.h \
1092 $(EMACS_ROOT)\src\config.h \
1093 $(SRC)\w32fns.c \
1094 $(SRC)\lisp.h \
1095 $(SRC)\w32term.h \
1096 $(SRC)\w32gui.h \
1097 $(SRC)\frame.h \
1098 $(SRC)\window.h \
1099 $(SRC)\buffer.h \
1100 $(SRC)\dispextern.h \
1101 $(SRC)\keyboard.h \
1102 $(SRC)\blockinput.h \
1103 $(SRC)\paths.h \
1104 $(SRC)\w32heap.h \
1105 $(SRC)\termhooks.h
1106
1107 $(BLD)\w32menu.obj: \
1108 $(EMACS_ROOT)\src\s\ms-w32.h \
1109 $(EMACS_ROOT)\src\m\intel386.h \
1110 $(EMACS_ROOT)\src\config.h \
1111 $(SRC)\w32menu.c \
1112 $(SRC)\lisp.h \
1113 $(SRC)\termhooks.h \
1114 $(SRC)\frame.h \
1115 $(SRC)\window.h \
1116 $(SRC)\keyboard.h \
1117 $(SRC)\blockinput.h \
1118 $(SRC)\buffer.h
1119
1120 $(BLD)\w32term.obj: \
1121 $(EMACS_ROOT)\src\s\ms-w32.h \
1122 $(EMACS_ROOT)\src\m\intel386.h \
1123 $(EMACS_ROOT)\src\config.h \
1124 $(SRC)\w32term.c \
1125 $(SRC)\lisp.h \
1126 $(SRC)\blockinput.h \
1127 $(SRC)\w32term.h \
1128 $(SRC)\w32gui.h \
1129 $(SRC)\systty.h \
1130 $(SRC)\systime.h \
1131 $(SRC)\frame.h \
1132 $(SRC)\dispextern.h \
1133 $(SRC)\termhooks.h \
1134 $(SRC)\termopts.h \
1135 $(SRC)\termchar.h \
1136 $(SRC)\gnu.h \
1137 $(SRC)\disptab.h \
1138 $(SRC)\buffer.h \
1139 $(SRC)\window.h \
1140 $(SRC)\keyboard.h \
1141 $(SRC)\intervals.h
1142
1143 $(BLD)\w32select.obj: \
1144 $(EMACS_ROOT)\src\s\ms-w32.h \
1145 $(EMACS_ROOT)\src\m\intel386.h \
1146 $(EMACS_ROOT)\src\config.h \
1147 $(SRC)\w32select.c \
1148 $(SRC)\lisp.h \
1149 $(SRC)\w32term.h \
1150 $(SRC)\w32gui.h \
1151 $(SRC)\dispextern.h \
1152 $(SRC)\frame.h \
1153 $(SRC)\blockinput.h
1154
1155 $(BLD)\w32reg.obj: \
1156 $(EMACS_ROOT)\src\s\ms-w32.h \
1157 $(EMACS_ROOT)\src\m\intel386.h \
1158 $(EMACS_ROOT)\src\config.h \
1159 $(SRC)\w32reg.c \
1160 $(SRC)\lisp.h \
1161 $(SRC)\w32term.h \
1162 $(SRC)\w32gui.h \
1163 $(SRC)\blockinput.h
1164
1165 $(BLD)\w32xfns.obj: \
1166 $(EMACS_ROOT)\src\s\ms-w32.h \
1167 $(EMACS_ROOT)\src\m\intel386.h \
1168 $(EMACS_ROOT)\src\config.h \
1169 $(SRC)\w32xfns.c \
1170 $(SRC)\lisp.h \
1171 $(SRC)\w32term.h \
1172 $(SRC)\w32.h \
1173 $(SRC)\frame.h \
1174 $(SRC)\blockinput.h