Move NT-specific include file to the NT include directory
[bpt/emacs.git] / src / makefile.w32-in
index 303445b..31dc94f 100644 (file)
@@ -1,4 +1,4 @@
-# -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
+# -*- Makefile -*- for GNU Emacs on the Microsoft Windows API.
 # Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
@@ -27,11 +27,7 @@ EMACSLOADPATH=$(CURDIR)/../lisp
 # Size in MBs of the static heap in temacs.exe.
 HEAPSIZE = 27
 
-#
-# HAVE_CONFIG_H is required by some generic gnu sources stuck into
-# the emacs source tree.
-#
-LOCAL_FLAGS     = -Demacs=1 -DHAVE_CONFIG_H -I../lib -I../nt/inc -DHAVE_NTGUI=1 $(EMACS_EXTRA_C_FLAGS)
+LOCAL_FLAGS     = -Demacs=1 -I../lib -I../nt/inc -DHAVE_NTGUI=1 $(EMACS_EXTRA_C_FLAGS)
 
 SRC             = .
 EMACS           = $(BLD)/emacs.exe
@@ -343,7 +339,7 @@ cleanall:   clean
 ##
 ## This works only with GNU Make.
 
-TAGS: $(OBJ0) $(OBJ1) $(OBJ2) $(CURDIR)/m/intel386.h $(CURDIR)/s/ms-w32.h
+TAGS: $(OBJ0) $(OBJ1) $(OBJ2) $(CURDIR)/../nt/inc/ms-w32.h
        $(MAKE) $(MFLAGS) TAGS-$(MAKETYPE)
 
 TAGS-LISP: $(OBJ0) $(OBJ1) $(OBJ2)
@@ -357,7 +353,7 @@ TAGS-gmake:
          $(OBJ1_c)
        ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \
          $(OBJ2_c) \
-         $(CURDIR)/*.h $(CURDIR)/m/intel386.h $(CURDIR)/s/ms-w32.h
+         $(CURDIR)/*.h $(CURDIR)/../nt/inc/ms-w32.h
 
 TAGS-nmake:
        echo This target is not supported with NMake
@@ -391,11 +387,14 @@ GNU_LIB = $(EMACS_ROOT)/lib
 NT_INC = $(EMACS_ROOT)/nt/inc
 
 SYSTIME_H      = $(SRC)/systime.h \
-                $(NT_INC)/sys/time.h
+                $(NT_INC)/sys/time.h \
+                $(GNU_LIB)/timespec.h
 ATIMER_H       = $(SRC)/atimer.h \
                 $(SYSTIME_H)
 BLOCKINPUT_H   = $(SRC)/blockinput.h \
                 $(ATIMER_H)
+BUFFER_H       = $(SRC)/buffer.h \
+                $(SYSTIME_H)
 CAREADLINKAT_H = $(GNU_LIB)/careadlinkat.h \
                 $(NT_INC)/unistd.h
 CHARACTER_H    = $(SRC)/character.h \
@@ -404,16 +403,19 @@ CHARSET_H      = $(SRC)/charset.h \
                 $(GNU_LIB)/verify.h
 CODING_H       = $(SRC)/coding.h \
                 $(SRC)/composite.h
-MS_W32_H       = $(SRC)/s/ms-w32.h \
+MS_W32_H       = $(NT_INC)/ms-w32.h \
                 $(NT_INC)/sys/stat.h
-CONFIG_H       = $(SRC)/config.h \
-                $(SRC)/m/intel386.h \
+CONF_POST_H    = $(SRC)/conf_post.h \
                 $(MS_W32_H)
+CONFIG_H       = $(SRC)/config.h \
+                $(CONF_POST_H)
 DIR_H          = $(NT_INC)/sys/dir.h \
                 $(SRC)/ndir.h
 W32GUI_H       = $(SRC)/w32gui.h \
                 $(SYSTIME_H)
 DISPEXTERN_H   = $(SRC)/dispextern.h \
+                $(GNU_LIB)/c-strcase.h \
+                $(SYSTIME_H) \
                 $(W32GUI_H)
 FILEMODE_H     = $(GNU_LIB)/filemode.h \
                 $(NT_INC)/sys/stat.h
@@ -438,7 +440,8 @@ LANGINFO_H     = $(NT_INC)/langinfo.h \
 LISP_H         = $(SRC)/lisp.h \
                 $(SRC)/globals.h \
                 $(GNU_LIB)/intprops.h \
-                $(INTTYPES_H)
+                $(INTTYPES_H) \
+                $(NT_INC)/stdalign.h
 MD5_H          = $(GNU_LIB)/md5.h \
                 $(NT_INC)/stdint.h
 MENU_H         = $(SRC)/menu.h \
@@ -456,6 +459,8 @@ SHA512_H       = $(GNU_LIB)/sha512.h \
                 $(U64_H)
 SOCKET_H       = $(NT_INC)/sys/socket.h \
                 $(SRC)/w32.h
+STAT_TIME_H    = $(GNU_LIB)/stat-time.h \
+                $(NT_INC)/sys/stat.h
 SYSTTY_H       = $(SRC)/systty.h \
                 $(NT_INC)/sys/ioctl.h \
                 $(NT_INC)/unistd.h
@@ -468,13 +473,13 @@ WINDOW_H       = $(SRC)/window.h \
 
 $(BLD)/alloc.$(O) : \
        $(SRC)/alloc.c \
-       $(SRC)/buffer.h \
        $(SRC)/puresize.h \
        $(SRC)/syssignal.h \
        $(SRC)/w32.h \
        $(NT_INC)/unistd.h \
        $(GNU_LIB)/verify.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(FRAME_H) \
@@ -488,7 +493,6 @@ $(BLD)/alloc.$(O) : \
 $(BLD)/atimer.$(O) : \
        $(SRC)/atimer.c \
        $(SRC)/syssignal.h \
-       $(NT_INC)/sys/time.h \
        $(NT_INC)/unistd.h \
        $(ATIMER_H) \
        $(BLOCKINPUT_H) \
@@ -498,7 +502,7 @@ $(BLD)/atimer.$(O) : \
 
 $(BLD)/bidi.$(O) : \
        $(SRC)/bidi.c \
-       $(SRC)/buffer.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -506,7 +510,6 @@ $(BLD)/bidi.$(O) : \
 
 $(BLD)/buffer.$(O) : \
        $(SRC)/buffer.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/indent.h \
        $(SRC)/keymap.h \
@@ -516,6 +519,7 @@ $(BLD)/buffer.$(O) : \
        $(NT_INC)/unistd.h \
        $(GNU_LIB)/verify.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(FRAME_H) \
@@ -526,8 +530,8 @@ $(BLD)/buffer.$(O) : \
 
 $(BLD)/bytecode.$(O) : \
        $(SRC)/bytecode.c \
-       $(SRC)/buffer.h \
        $(SRC)/syntax.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(LISP_H) \
@@ -535,9 +539,9 @@ $(BLD)/bytecode.$(O) : \
 
 $(BLD)/callint.$(O) : \
        $(SRC)/callint.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/keymap.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(KEYBOARD_H) \
@@ -546,7 +550,6 @@ $(BLD)/callint.$(O) : \
 
 $(BLD)/callproc.$(O) : \
        $(SRC)/callproc.c \
-       $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/commands.h \
        $(SRC)/composite.h \
@@ -556,6 +559,7 @@ $(BLD)/callproc.$(O) : \
        $(NT_INC)/sys/file.h \
        $(NT_INC)/unistd.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -567,27 +571,27 @@ $(BLD)/callproc.$(O) : \
 
 $(BLD)/casefiddle.$(O) : \
        $(SRC)/casefiddle.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/composite.h \
        $(SRC)/keymap.h \
        $(SRC)/syntax.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(LISP_H)
 
 $(BLD)/casetab.$(O) : \
        $(SRC)/casetab.c \
-       $(SRC)/buffer.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(LISP_H)
 
 $(BLD)/category.$(O) : \
        $(SRC)/category.c \
-       $(SRC)/buffer.h \
        $(SRC)/category.h \
        $(SRC)/keymap.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CONFIG_H) \
@@ -604,10 +608,10 @@ $(BLD)/ccl.$(O) : \
 
 $(BLD)/character.$(O) : \
        $(SRC)/character.c \
-       $(SRC)/buffer.h \
        $(SRC)/composite.h \
        $(SRC)/disptab.h \
        $(GNU_LIB)/intprops.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CONFIG_H) \
@@ -615,9 +619,9 @@ $(BLD)/character.$(O) : \
 
 $(BLD)/charset.$(O) : \
        $(SRC)/charset.c \
-       $(SRC)/buffer.h \
        $(SRC)/disptab.h \
        $(NT_INC)/unistd.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \
@@ -634,10 +638,10 @@ $(BLD)/chartab.$(O) : \
 
 $(BLD)/cmds.$(O) : \
        $(SRC)/cmds.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/keymap.h \
        $(SRC)/syntax.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -648,9 +652,9 @@ $(BLD)/cmds.$(O) : \
 
 $(BLD)/coding.$(O) : \
        $(SRC)/coding.c \
-       $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/composite.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \
@@ -662,7 +666,7 @@ $(BLD)/coding.$(O) : \
 
 $(BLD)/composite.$(O) : \
        $(SRC)/composite.c \
-       $(SRC)/buffer.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -676,10 +680,11 @@ $(BLD)/composite.$(O) : \
 
 $(BLD)/data.$(O) : \
        $(SRC)/data.c \
-       $(SRC)/buffer.h \
+       $(SRC)/keymap.h \
        $(SRC)/puresize.h \
        $(SRC)/syssignal.h \
        $(GNU_LIB)/intprops.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(FONT_H) \
@@ -690,13 +695,13 @@ $(BLD)/data.$(O) : \
 
 $(BLD)/dired.$(O) : \
        $(SRC)/dired.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/regex.h \
        $(NT_INC)/pwd.h \
        $(NT_INC)/sys/stat.h \
        $(NT_INC)/unistd.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \
@@ -705,11 +710,11 @@ $(BLD)/dired.$(O) : \
        $(FILEMODE_H) \
        $(GRP_H) \
        $(LISP_H) \
+       $(STAT_TIME_H) \
        $(SYSTIME_H)
 
 $(BLD)/dispnew.$(O) : \
        $(SRC)/dispnew.c \
-       $(SRC)/buffer.h \
        $(SRC)/cm.h \
        $(SRC)/commands.h \
        $(SRC)/disptab.h \
@@ -719,6 +724,7 @@ $(BLD)/dispnew.$(O) : \
        $(SRC)/termopts.h \
        $(NT_INC)/unistd.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -734,11 +740,11 @@ $(BLD)/dispnew.$(O) : \
 
 $(BLD)/doc.$(O) : \
        $(SRC)/doc.c \
-       $(SRC)/buffer.h \
        $(SRC)/buildobj.h \
        $(SRC)/keymap.h \
        $(NT_INC)/sys/file.h \
        $(NT_INC)/unistd.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(KEYBOARD_H) \
@@ -753,13 +759,13 @@ $(BLD)/doprnt.$(O) : \
 
 $(BLD)/editfns.$(O) : \
        $(SRC)/editfns.c \
-       $(SRC)/buffer.h \
        $(NT_INC)/pwd.h \
        $(NT_INC)/unistd.h \
        $(GNU_LIB)/intprops.h \
        $(GNU_LIB)/strftime.h \
        $(GNU_LIB)/verify.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -771,7 +777,6 @@ $(BLD)/editfns.$(O) : \
 
 $(BLD)/emacs.$(O) : \
        $(SRC)/emacs.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/gnutls.h \
        $(SRC)/keymap.h \
@@ -782,6 +787,8 @@ $(BLD)/emacs.$(O) : \
        $(NT_INC)/sys/file.h \
        $(NT_INC)/unistd.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(FRAME_H) \
        $(INTERVALS_H) \
@@ -804,12 +811,12 @@ $(BLD)/eval.$(O) : \
 
 $(BLD)/fileio.$(O) : \
        $(SRC)/fileio.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(NT_INC)/pwd.h \
        $(NT_INC)/sys/stat.h \
        $(NT_INC)/unistd.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -817,16 +824,17 @@ $(BLD)/fileio.$(O) : \
        $(FRAME_H) \
        $(INTERVALS_H) \
        $(LISP_H) \
+       $(STAT_TIME_H) \
        $(SYSTIME_H) \
        $(WINDOW_H)
 
 $(BLD)/filelock.$(O) : \
        $(SRC)/filelock.c \
-       $(SRC)/buffer.h \
        $(NT_INC)/pwd.h \
        $(NT_INC)/sys/file.h \
        $(NT_INC)/sys/stat.h \
        $(NT_INC)/unistd.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -845,12 +853,12 @@ $(BLD)/floatfns.$(O) : \
 
 $(BLD)/fns.$(O) : \
        $(SRC)/fns.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/keymap.h \
        $(NT_INC)/unistd.h \
        $(GNU_LIB)/intprops.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -867,9 +875,9 @@ $(BLD)/fns.$(O) : \
 
 $(BLD)/font.$(O) : \
        $(SRC)/font.c \
-       $(SRC)/buffer.h \
        $(SRC)/composite.h \
        $(SRC)/fontset.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CONFIG_H) \
@@ -882,10 +890,10 @@ $(BLD)/font.$(O) : \
 
 $(BLD)/fontset.$(O) : \
        $(SRC)/fontset.c \
-       $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/fontset.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CONFIG_H) \
@@ -901,11 +909,11 @@ $(BLD)/fontset.$(O) : \
 
 $(BLD)/frame.$(O) : \
        $(SRC)/frame.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/fontset.h \
        $(SRC)/termchar.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -919,8 +927,9 @@ $(BLD)/frame.$(O) : \
 
 $(BLD)/fringe.$(O) : \
        $(SRC)/fringe.c \
-       $(SRC)/buffer.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
        $(FRAME_H) \
@@ -930,7 +939,7 @@ $(BLD)/fringe.$(O) : \
 
 $(BLD)/gmalloc.$(O) : \
        $(SRC)/gmalloc.c \
-       $(SRC)/getpagesize.h \
+       $(NT_INC)/stdint.h \
        $(NT_INC)/unistd.h \
        $(CONFIG_H)
 
@@ -943,8 +952,9 @@ $(BLD)/gnutls.$(O) : \
 
 $(BLD)/xml.$(O) : \
        $(SRC)/xml.c \
-       $(SRC)/buffer.h \
        $(SRC)/w32.h \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(LISP_H)
 
@@ -968,7 +978,6 @@ $(BLD)/image.$(O) : \
 
 $(BLD)/indent.$(O) : \
        $(SRC)/indent.c \
-       $(SRC)/buffer.h \
        $(SRC)/category.h \
        $(SRC)/composite.h \
        $(SRC)/disptab.h \
@@ -976,6 +985,7 @@ $(BLD)/indent.$(O) : \
        $(SRC)/region-cache.h \
        $(SRC)/termchar.h \
        $(SRC)/termopts.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -987,10 +997,10 @@ $(BLD)/indent.$(O) : \
 
 $(BLD)/insdel.$(O) : \
        $(SRC)/insdel.c \
-       $(SRC)/buffer.h \
        $(SRC)/region-cache.h \
        $(GNU_LIB)/intprops.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(INTERVALS_H) \
@@ -999,10 +1009,11 @@ $(BLD)/insdel.$(O) : \
 
 $(BLD)/intervals.$(O) : \
        $(SRC)/intervals.c \
-       $(SRC)/buffer.h \
        $(SRC)/keymap.h \
        $(SRC)/puresize.h \
        $(GNU_LIB)/intprops.h \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(INTERVALS_H) \
        $(KEYBOARD_H) \
@@ -1010,7 +1021,6 @@ $(BLD)/intervals.$(O) : \
 
 $(BLD)/keyboard.$(O) : \
        $(SRC)/keyboard.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/disptab.h \
        $(SRC)/keymap.h \
@@ -1024,6 +1034,7 @@ $(BLD)/keyboard.$(O) : \
        $(NT_INC)/unistd.h \
        $(ATIMER_H) \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -1039,11 +1050,11 @@ $(BLD)/keyboard.$(O) : \
 
 $(BLD)/keymap.$(O) : \
        $(SRC)/keymap.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/keymap.h \
        $(SRC)/puresize.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CONFIG_H) \
@@ -1060,13 +1071,13 @@ $(BLD)/lastfile.$(O) : \
 
 $(BLD)/lread.$(O) : \
        $(SRC)/lread.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/epaths.h \
        $(NT_INC)/sys/file.h \
        $(NT_INC)/sys/stat.h \
        $(NT_INC)/unistd.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \
@@ -1075,13 +1086,15 @@ $(BLD)/lread.$(O) : \
        $(INTERVALS_H) \
        $(KEYBOARD_H) \
        $(LISP_H) \
+       $(STAT_TIME_H) \
        $(TERMHOOKS_H)
 
 $(BLD)/macros.$(O) : \
        $(SRC)/macros.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/macros.h \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(KEYBOARD_H) \
        $(LISP_H) \
@@ -1089,7 +1102,7 @@ $(BLD)/macros.$(O) : \
 
 $(BLD)/marker.$(O) : \
        $(SRC)/marker.c \
-       $(SRC)/buffer.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(LISP_H)
@@ -1110,10 +1123,11 @@ $(BLD)/menu.$(O) : \
 
 $(BLD)/minibuf.$(O) : \
        $(SRC)/minibuf.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/keymap.h \
        $(SRC)/syntax.h \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
        $(FRAME_H) \
@@ -1150,7 +1164,9 @@ $(BLD)/w32heap.$(O) : \
 
 $(BLD)/w32inevt.$(O) : \
        $(SRC)/w32inevt.c \
+       $(SRC)/termchar.h \
        $(SRC)/w32heap.h \
+       $(SRC)/w32inevt.h \
        $(BLOCKINPUT_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -1158,7 +1174,8 @@ $(BLD)/w32inevt.$(O) : \
        $(KEYBOARD_H) \
        $(LISP_H) \
        $(TERMHOOKS_H) \
-       $(W32TERM_H)
+       $(W32TERM_H) \
+       $(WINDOW_H)
 
 $(BLD)/w32proc.$(O) : \
        $(SRC)/w32proc.c \
@@ -1181,6 +1198,7 @@ $(BLD)/w32console.$(O) : \
        $(SRC)/w32console.c \
        $(SRC)/disptab.h \
        $(SRC)/termchar.h \
+       $(SRC)/w32heap.h \
        $(SRC)/w32inevt.h \
        $(CHARACTER_H) \
        $(CODING_H) \
@@ -1188,13 +1206,14 @@ $(BLD)/w32console.$(O) : \
        $(DISPEXTERN_H) \
        $(FRAME_H) \
        $(LISP_H) \
-       $(TERMHOOKS_H)
+       $(TERMHOOKS_H) \
+       $(WINDOW_H)
 
 $(BLD)/print.$(O) : \
        $(SRC)/print.c \
-       $(SRC)/buffer.h \
        $(SRC)/termchar.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CONFIG_H) \
@@ -1211,7 +1230,6 @@ $(BLD)/print.$(O) : \
 
 $(BLD)/process.$(O) : \
        $(SRC)/process.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/composite.h \
        $(SRC)/gnutls.h \
@@ -1228,6 +1246,7 @@ $(BLD)/process.$(O) : \
        $(NT_INC)/unistd.h \
        $(ATIMER_H) \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -1252,19 +1271,19 @@ $(BLD)/ralloc.$(O) : \
 
 $(BLD)/regex.$(O) : \
        $(SRC)/regex.c \
-       $(SRC)/buffer.h \
        $(SRC)/category.h \
        $(SRC)/regex.h \
        $(SRC)/syntax.h \
-       $(NT_INC)/unistd.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(LISP_H)
 
 $(BLD)/region-cache.$(O) : \
        $(SRC)/region-cache.c \
-       $(SRC)/buffer.h \
        $(SRC)/region-cache.h \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(LISP_H)
 
@@ -1281,13 +1300,13 @@ $(BLD)/scroll.$(O) : \
 
 $(BLD)/search.$(O) : \
        $(SRC)/search.c \
-       $(SRC)/buffer.h \
        $(SRC)/category.h \
        $(SRC)/commands.h \
        $(SRC)/regex.h \
        $(SRC)/region-cache.h \
        $(SRC)/syntax.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CONFIG_H) \
@@ -1305,12 +1324,12 @@ $(BLD)/sound.$(O) : \
 
 $(BLD)/syntax.$(O) : \
        $(SRC)/syntax.c \
-       $(SRC)/buffer.h \
        $(SRC)/category.h \
        $(SRC)/commands.h \
        $(SRC)/keymap.h \
        $(SRC)/regex.h \
        $(SRC)/syntax.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(INTERVALS_H) \
@@ -1331,6 +1350,7 @@ $(BLD)/sysdep.$(O) : \
        $(NT_INC)/unistd.h \
        $(GNU_LIB)/allocator.h \
        $(GNU_LIB)/ignore-value.h \
+       $(GNU_LIB)/utimens.h \
        $(BLOCKINPUT_H) \
        $(CAREADLINKAT_H) \
        $(CONFIG_H) \
@@ -1348,7 +1368,6 @@ $(BLD)/sysdep.$(O) : \
 
 $(BLD)/term.$(O) : \
        $(SRC)/term.c \
-       $(SRC)/buffer.h \
        $(SRC)/cm.h \
        $(SRC)/composite.h \
        $(SRC)/disptab.h \
@@ -1358,8 +1377,10 @@ $(BLD)/term.$(O) : \
        $(SRC)/termopts.h \
        $(SRC)/tparam.h \
        $(NT_INC)/sys/file.h \
+       $(NT_INC)/sys/time.h \
        $(NT_INC)/unistd.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \
@@ -1386,7 +1407,8 @@ $(BLD)/terminal.$(O) : \
 
 $(BLD)/textprop.$(O) : \
        $(SRC)/textprop.c \
-       $(SRC)/buffer.h \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(INTERVALS_H) \
        $(LISP_H) \
@@ -1400,8 +1422,9 @@ $(BLD)/tparam.$(O) : \
 
 $(BLD)/undo.$(O) : \
        $(SRC)/undo.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(LISP_H) \
        $(WINDOW_H)
@@ -1420,13 +1443,14 @@ $(BLD)/vm-limit.$(O) : \
 
 $(BLD)/window.$(O) : \
        $(SRC)/window.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/disptab.h \
        $(SRC)/indent.h \
        $(SRC)/keymap.h \
        $(SRC)/termchar.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
        $(FRAME_H) \
@@ -1439,7 +1463,6 @@ $(BLD)/window.$(O) : \
 
 $(BLD)/xdisp.$(O) : \
        $(SRC)/xdisp.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/disptab.h \
        $(SRC)/fontset.h \
@@ -1450,6 +1473,7 @@ $(BLD)/xdisp.$(O) : \
        $(SRC)/termchar.h \
        $(SRC)/termopts.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \
@@ -1467,11 +1491,11 @@ $(BLD)/xdisp.$(O) : \
 
 $(BLD)/xfaces.$(O) : \
        $(SRC)/xfaces.c \
-       $(SRC)/buffer.h \
        $(SRC)/fontset.h \
        $(SRC)/termchar.h \
        $(NT_INC)/sys/stat.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CONFIG_H) \
@@ -1487,7 +1511,6 @@ $(BLD)/xfaces.$(O) : \
 
 $(BLD)/w32fns.$(O) : \
        $(SRC)/w32fns.c \
-       $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/epaths.h \
        $(SRC)/fontset.h \
@@ -1495,6 +1518,7 @@ $(BLD)/w32fns.$(O) : \
        $(SRC)/w32font.h \
        $(SRC)/w32heap.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \
@@ -1512,9 +1536,11 @@ $(BLD)/w32fns.$(O) : \
 
 $(BLD)/w32menu.$(O) : \
        $(SRC)/w32menu.c \
-       $(SRC)/buffer.h \
        $(SRC)/keymap.h \
+       $(SRC)/w32heap.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -1529,7 +1555,6 @@ $(BLD)/w32menu.$(O) : \
 
 $(BLD)/w32term.$(O) : \
        $(SRC)/w32term.c \
-       $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/disptab.h \
        $(SRC)/fontset.h \
@@ -1541,6 +1566,7 @@ $(BLD)/w32term.$(O) : \
        $(NT_INC)/sys/stat.h \
        $(ATIMER_H) \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \