src/makefile.w32-in: Update dependencies.
[bpt/emacs.git] / src / makefile.w32-in
index 792b66b..01f8a1a 100644 (file)
@@ -1,5 +1,5 @@
 # -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
-# Copyright (C) 2000-2011  Free Software Foundation, Inc.
+# Copyright (C) 2000-2012  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
 
@@ -24,6 +24,9 @@ ALL = emacs
 # Set EMACSLOADPATH correctly (in case already defined in environment).
 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.
@@ -125,6 +128,7 @@ OBJ2 =  $(BLD)/sysdep.$(O)          \
        $(BLD)/image.$(O)               \
        $(BLD)/terminal.$(O)            \
        $(BLD)/menu.$(O)                \
+       $(BLD)/xml.$(O)                 \
        $(BLD)/w32term.$(O)             \
        $(BLD)/w32xfns.$(O)             \
        $(BLD)/w32fns.$(O)              \
@@ -177,7 +181,7 @@ temacs:         stamp_BLD $(TEMACS)
 $(TEMACS):      $(TLIB0) $(TLIB1) $(TLIB2) $(TLASTLIB) $(TOBJ) $(TRES) \
                  ../nt/$(BLD)/addsection.exe $(GNULIB)
        $(LINK) $(LINK_OUT)$(TEMACS_TMP) $(FULL_LINK_FLAGS) $(TOBJ) $(TRES) $(LIBS)
-       "../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP 21
+       "$(THISDIR)/../nt/$(BLD)/addsection" "$(TEMACS_TMP)" "$(TEMACS)" EMHEAP $(HEAPSIZE)
 
 # These omit firstfile.${O}, but there's no documentation in there
 # anyways.
@@ -222,7 +226,7 @@ GLOBAL_SOURCES =   dosfns.c msdos.c \
        process.c callproc.c unexw32.c \
        region-cache.c sound.c atimer.c \
        doprnt.c intervals.c textprop.c composite.c \
-       gnutls.c
+       gnutls.c xml.c
 SOME_MACHINE_OBJECTS = dosfns.o msdos.o \
        xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o dbusbind.o
 obj = $(GLOBAL_SOURCES:.c=.o)
@@ -232,7 +236,7 @@ globals.h: gl-stamp
 
 gl-stamp: ../lib-src/$(BLD)/make-docfile.exe $(GLOBAL_SOURCES)
        - $(DEL) gl-tmp
-       "../lib-src/$(BLD)/make-docfile" -d . -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp
+       "$(THISDIR)/../lib-src/$(BLD)/make-docfile" -d . -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp
        cmd /c "fc /b gl-tmp globals.h >nul 2>&1 || $(CP) gl-tmp globals.h"
        - $(DEL) gl-tmp
        echo timestamp > $@
@@ -339,7 +343,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)/s/ms-w32.h
        $(MAKE) $(MFLAGS) TAGS-$(MAKETYPE)
 
 TAGS-LISP: $(OBJ0) $(OBJ1) $(OBJ2)
@@ -348,12 +352,12 @@ TAGS-LISP: $(OBJ0) $(OBJ1) $(OBJ2)
 TAGS-gmake:
        ../lib-src/$(BLD)/etags.exe --include=TAGS-LISP --include=../nt/TAGS \
          --regex=@../nt/emacs-src.tags \
-         $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ0))
+         $(OBJ0_c)
        ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \
-         $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ1))
+         $(OBJ1_c)
        ../lib-src/$(BLD)/etags.exe -a --regex=@../nt/emacs-src.tags \
-         $(patsubst $(BLD)%.$(O),$(CURDIR)%.c,$(OBJ2)) \
-         $(CURDIR)/*.h $(CURDIR)/m/intel386.h $(CURDIR)/s/ms-w32.h
+         $(OBJ2_c) \
+         $(CURDIR)/*.h $(CURDIR)/s/ms-w32.h
 
 TAGS-nmake:
        echo This target is not supported with NMake
@@ -387,11 +391,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 \
@@ -403,13 +410,13 @@ CODING_H       = $(SRC)/coding.h \
 MS_W32_H       = $(SRC)/s/ms-w32.h \
                 $(NT_INC)/sys/stat.h
 CONFIG_H       = $(SRC)/config.h \
-                $(SRC)/m/intel386.h \
                 $(MS_W32_H)
 DIR_H          = $(NT_INC)/sys/dir.h \
                 $(SRC)/ndir.h
 W32GUI_H       = $(SRC)/w32gui.h \
                 $(SYSTIME_H)
 DISPEXTERN_H   = $(SRC)/dispextern.h \
+                $(SYSTIME_H) \
                 $(W32GUI_H)
 FILEMODE_H     = $(GNU_LIB)/filemode.h \
                 $(NT_INC)/sys/stat.h
@@ -452,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
@@ -464,12 +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) \
@@ -493,7 +503,7 @@ $(BLD)/atimer.$(O) : \
 
 $(BLD)/bidi.$(O) : \
        $(SRC)/bidi.c \
-       $(SRC)/buffer.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -501,7 +511,6 @@ $(BLD)/bidi.$(O) : \
 
 $(BLD)/buffer.$(O) : \
        $(SRC)/buffer.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/indent.h \
        $(SRC)/keymap.h \
@@ -511,6 +520,7 @@ $(BLD)/buffer.$(O) : \
        $(NT_INC)/unistd.h \
        $(GNU_LIB)/verify.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(FRAME_H) \
@@ -521,8 +531,8 @@ $(BLD)/buffer.$(O) : \
 
 $(BLD)/bytecode.$(O) : \
        $(SRC)/bytecode.c \
-       $(SRC)/buffer.h \
        $(SRC)/syntax.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(LISP_H) \
@@ -530,9 +540,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) \
@@ -541,7 +551,6 @@ $(BLD)/callint.$(O) : \
 
 $(BLD)/callproc.$(O) : \
        $(SRC)/callproc.c \
-       $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/commands.h \
        $(SRC)/composite.h \
@@ -551,6 +560,7 @@ $(BLD)/callproc.$(O) : \
        $(NT_INC)/sys/file.h \
        $(NT_INC)/unistd.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -562,27 +572,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) \
@@ -599,10 +609,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) \
@@ -610,9 +620,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) \
@@ -629,10 +639,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) \
@@ -643,9 +653,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) \
@@ -657,7 +667,7 @@ $(BLD)/coding.$(O) : \
 
 $(BLD)/composite.$(O) : \
        $(SRC)/composite.c \
-       $(SRC)/buffer.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -671,10 +681,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) \
@@ -685,13 +696,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) \
@@ -700,11 +711,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 \
@@ -714,6 +725,7 @@ $(BLD)/dispnew.$(O) : \
        $(SRC)/termopts.h \
        $(NT_INC)/unistd.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -729,11 +741,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) \
@@ -748,13 +760,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) \
@@ -766,7 +778,6 @@ $(BLD)/editfns.$(O) : \
 
 $(BLD)/emacs.$(O) : \
        $(SRC)/emacs.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/gnutls.h \
        $(SRC)/keymap.h \
@@ -777,6 +788,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) \
@@ -799,12 +812,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) \
@@ -812,16 +825,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) \
@@ -840,12 +854,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) \
@@ -862,9 +876,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) \
@@ -877,10 +891,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) \
@@ -896,11 +910,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) \
@@ -914,8 +928,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) \
@@ -925,7 +940,7 @@ $(BLD)/fringe.$(O) : \
 
 $(BLD)/gmalloc.$(O) : \
        $(SRC)/gmalloc.c \
-       $(SRC)/getpagesize.h \
+       $(NT_INC)/stdint.h \
        $(NT_INC)/unistd.h \
        $(CONFIG_H)
 
@@ -936,6 +951,14 @@ $(BLD)/gnutls.$(O) : \
        $(LISP_H) \
        $(PROCESS_H)
 
+$(BLD)/xml.$(O) : \
+       $(SRC)/xml.c \
+       $(SRC)/w32.h \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
+       $(CONFIG_H) \
+       $(LISP_H)
+
 $(BLD)/image.$(O) : \
        $(SRC)/image.c \
        $(SRC)/epaths.h \
@@ -956,7 +979,6 @@ $(BLD)/image.$(O) : \
 
 $(BLD)/indent.$(O) : \
        $(SRC)/indent.c \
-       $(SRC)/buffer.h \
        $(SRC)/category.h \
        $(SRC)/composite.h \
        $(SRC)/disptab.h \
@@ -964,6 +986,7 @@ $(BLD)/indent.$(O) : \
        $(SRC)/region-cache.h \
        $(SRC)/termchar.h \
        $(SRC)/termopts.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -975,10 +998,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) \
@@ -987,10 +1010,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) \
@@ -998,7 +1022,6 @@ $(BLD)/intervals.$(O) : \
 
 $(BLD)/keyboard.$(O) : \
        $(SRC)/keyboard.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/disptab.h \
        $(SRC)/keymap.h \
@@ -1012,6 +1035,7 @@ $(BLD)/keyboard.$(O) : \
        $(NT_INC)/unistd.h \
        $(ATIMER_H) \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(DISPEXTERN_H) \
@@ -1027,11 +1051,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) \
@@ -1048,13 +1072,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) \
@@ -1067,9 +1091,10 @@ $(BLD)/lread.$(O) : \
 
 $(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) \
@@ -1077,7 +1102,7 @@ $(BLD)/macros.$(O) : \
 
 $(BLD)/marker.$(O) : \
        $(SRC)/marker.c \
-       $(SRC)/buffer.h \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CONFIG_H) \
        $(LISP_H)
@@ -1098,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) \
@@ -1138,6 +1164,7 @@ $(BLD)/w32heap.$(O) : \
 
 $(BLD)/w32inevt.$(O) : \
        $(SRC)/w32inevt.c \
+       $(SRC)/termchar.h \
        $(SRC)/w32heap.h \
        $(BLOCKINPUT_H) \
        $(CONFIG_H) \
@@ -1146,7 +1173,8 @@ $(BLD)/w32inevt.$(O) : \
        $(KEYBOARD_H) \
        $(LISP_H) \
        $(TERMHOOKS_H) \
-       $(W32TERM_H)
+       $(W32TERM_H) \
+       $(WINDOW_H)
 
 $(BLD)/w32proc.$(O) : \
        $(SRC)/w32proc.c \
@@ -1176,13 +1204,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) \
@@ -1199,7 +1228,6 @@ $(BLD)/print.$(O) : \
 
 $(BLD)/process.$(O) : \
        $(SRC)/process.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/composite.h \
        $(SRC)/gnutls.h \
@@ -1216,6 +1244,7 @@ $(BLD)/process.$(O) : \
        $(NT_INC)/unistd.h \
        $(ATIMER_H) \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CODING_H) \
        $(CONFIG_H) \
@@ -1240,19 +1269,20 @@ $(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)
 
@@ -1269,13 +1299,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) \
@@ -1293,12 +1323,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) \
@@ -1319,6 +1349,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) \
@@ -1336,7 +1367,6 @@ $(BLD)/sysdep.$(O) : \
 
 $(BLD)/term.$(O) : \
        $(SRC)/term.c \
-       $(SRC)/buffer.h \
        $(SRC)/cm.h \
        $(SRC)/composite.h \
        $(SRC)/disptab.h \
@@ -1346,8 +1376,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) \
@@ -1374,7 +1406,8 @@ $(BLD)/terminal.$(O) : \
 
 $(BLD)/textprop.$(O) : \
        $(SRC)/textprop.c \
-       $(SRC)/buffer.h \
+       $(BUFFER_H) \
+       $(CHARACTER_H) \
        $(CONFIG_H) \
        $(INTERVALS_H) \
        $(LISP_H) \
@@ -1388,8 +1421,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)
@@ -1408,13 +1442,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) \
@@ -1427,7 +1462,6 @@ $(BLD)/window.$(O) : \
 
 $(BLD)/xdisp.$(O) : \
        $(SRC)/xdisp.c \
-       $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/disptab.h \
        $(SRC)/fontset.h \
@@ -1438,6 +1472,7 @@ $(BLD)/xdisp.$(O) : \
        $(SRC)/termchar.h \
        $(SRC)/termopts.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \
@@ -1455,11 +1490,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) \
@@ -1475,7 +1510,6 @@ $(BLD)/xfaces.$(O) : \
 
 $(BLD)/w32fns.$(O) : \
        $(SRC)/w32fns.c \
-       $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/epaths.h \
        $(SRC)/fontset.h \
@@ -1483,6 +1517,7 @@ $(BLD)/w32fns.$(O) : \
        $(SRC)/w32font.h \
        $(SRC)/w32heap.h \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \
@@ -1500,9 +1535,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) \
@@ -1517,7 +1554,6 @@ $(BLD)/w32menu.$(O) : \
 
 $(BLD)/w32term.$(O) : \
        $(SRC)/w32term.c \
-       $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/disptab.h \
        $(SRC)/fontset.h \
@@ -1529,6 +1565,7 @@ $(BLD)/w32term.$(O) : \
        $(NT_INC)/sys/stat.h \
        $(ATIMER_H) \
        $(BLOCKINPUT_H) \
+       $(BUFFER_H) \
        $(CHARACTER_H) \
        $(CHARSET_H) \
        $(CODING_H) \