(x_set_alpha): Set alpha to -1 if nil given.
[bpt/emacs.git] / src / makefile.w32-in
index 7b3ba3c..a8df466 100644 (file)
@@ -1,24 +1,22 @@
-#  -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
-#  Copyright (C) 2000, 2001, 2002, 2003, 2004,
-#                2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-#
-#  This file is part of GNU Emacs.
-#
-#  GNU Emacs is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 3, or (at your option)
-#  any later version.
-#
-#  GNU Emacs is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with GNU Emacs; see the file COPYING.  If not, write to the
-#  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-#  Boston, MA 02110-1301, USA.
-#
+# -*- Makefile -*- for GNU Emacs on the Microsoft W32 API.
+# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+#   2008  Free Software Foundation, Inc.
+
+# This file is part of GNU Emacs.
+
+# GNU Emacs is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# GNU Emacs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
 
 ALL = emacs
 
@@ -31,7 +29,7 @@ EMACSLOADPATH=$(CURDIR)/../lisp
 # HAVE_CONFIG_H is required by some generic gnu sources stuck into
 # the emacs source tree.
 #
-LOCAL_FLAGS     = -Demacs=1 -DWINDOWSNT -DDOS_NT -DHAVE_CONFIG_H -I../nt/inc -D_UCHAR_T -DHAVE_NTGUI=1 $(EMACS_EXTRA_C_FLAGS)
+LOCAL_FLAGS     = -Demacs=1 -DHAVE_CONFIG_H -I../nt/inc -DHAVE_NTGUI=1 $(EMACS_EXTRA_C_FLAGS)
 
 EMACS           = $(BLD)/emacs.exe
 TEMACS          = $(BLD)/temacs.exe
@@ -56,42 +54,42 @@ FULL_LINK_FLAGS = $(LINK_FLAGS) $(TEMACS_EXTRA_LINK)
 #
 OBJ0 =  $(BLD)/emacs.$(O)
 
-OBJ1 =  $(BLD)/alloc.$(O)                      \
+OBJ1 =  $(BLD)/alloc.$(O)              \
        $(BLD)/atimer.$(O)                      \
        $(BLD)/buffer.$(O)                      \
-       $(BLD)/bytecode.$(O)                    \
-       $(BLD)/callint.$(O)                     \
-       $(BLD)/callproc.$(O)                    \
-       $(BLD)/casefiddle.$(O)                  \
-       $(BLD)/cm.$(O)                          \
+       $(BLD)/bytecode.$(O)            \
+       $(BLD)/callint.$(O)             \
+       $(BLD)/callproc.$(O)            \
+       $(BLD)/casefiddle.$(O)          \
+       $(BLD)/cm.$(O)                  \
        $(BLD)/cmds.$(O)                        \
        $(BLD)/data.$(O)                        \
        $(BLD)/dired.$(O)                       \
-       $(BLD)/dispnew.$(O)                     \
-       $(BLD)/doc.$(O)                         \
+       $(BLD)/dispnew.$(O)             \
+       $(BLD)/doc.$(O)                 \
        $(BLD)/doprnt.$(O)                      \
-       $(BLD)/editfns.$(O)                     \
+       $(BLD)/editfns.$(O)             \
        $(BLD)/eval.$(O)                        \
        $(BLD)/fileio.$(O)                      \
-       $(BLD)/filelock.$(O)                    \
-       $(BLD)/filemode.$(O)                    \
-       $(BLD)/fns.$(O)                         \
+       $(BLD)/filelock.$(O)            \
+       $(BLD)/filemode.$(O)            \
+       $(BLD)/fns.$(O)                 \
        $(BLD)/indent.$(O)                      \
        $(BLD)/insdel.$(O)                      \
-       $(BLD)/keyboard.$(O)                    \
+       $(BLD)/keyboard.$(O)            \
        $(BLD)/keymap.$(O)                      \
        $(BLD)/lread.$(O)                       \
        $(BLD)/macros.$(O)                      \
        $(BLD)/marker.$(O)                      \
-       $(BLD)/md5.$(O)                         \
-       $(BLD)/minibuf.$(O)                     \
-       $(BLD)/w32.$(O)                         \
-       $(BLD)/w32heap.$(O)                     \
-       $(BLD)/w32inevt.$(O)                    \
-       $(BLD)/w32proc.$(O)                     \
-       $(BLD)/w32console.$(O)                  \
+       $(BLD)/md5.$(O)                 \
+       $(BLD)/minibuf.$(O)             \
+       $(BLD)/w32.$(O)                 \
+       $(BLD)/w32heap.$(O)             \
+       $(BLD)/w32inevt.$(O)            \
+       $(BLD)/w32proc.$(O)             \
+       $(BLD)/w32console.$(O)          \
        $(BLD)/print.$(O)                       \
-       $(BLD)/process.$(O)                     \
+       $(BLD)/process.$(O)             \
        $(BLD)/regex.$(O)                       \
        $(BLD)/scroll.$(O)                      \
        $(BLD)/search.$(O)                      \
@@ -99,49 +97,45 @@ OBJ1 =  $(BLD)/alloc.$(O)                   \
        $(BLD)/syntax.$(O)                      \
        $(BLD)/sysdep.$(O)                      \
        $(BLD)/term.$(O)                        \
-       $(BLD)/termcap.$(O)                     \
+       $(BLD)/termcap.$(O)             \
        $(BLD)/tparam.$(O)                      \
        $(BLD)/undo.$(O)                        \
-       $(BLD)/unexw32.$(O)                     \
+       $(BLD)/unexw32.$(O)             \
        $(BLD)/window.$(O)                      \
        $(BLD)/xdisp.$(O)                       \
-       $(BLD)/casetab.$(O)                     \
-       $(BLD)/floatfns.$(O)                    \
+       $(BLD)/casetab.$(O)             \
+       $(BLD)/floatfns.$(O)            \
        $(BLD)/frame.$(O)                       \
-       $(BLD)/gmalloc.$(O)                     \
-       $(BLD)/intervals.$(O)                   \
-       $(BLD)/composite.$(O)                   \
+       $(BLD)/gmalloc.$(O)             \
+       $(BLD)/intervals.$(O)           \
+       $(BLD)/composite.$(O)           \
        $(BLD)/ralloc.$(O)                      \
-       $(BLD)/textprop.$(O)                    \
-       $(BLD)/vm-limit.$(O)                    \
+       $(BLD)/textprop.$(O)            \
+       $(BLD)/vm-limit.$(O)            \
        $(BLD)/region-cache.$(O)                \
-       $(BLD)/strftime.$(O)                    \
-       $(BLD)/charset.$(O)                     \
-       $(BLD)/character.$(O)                   \
-       $(BLD)/chartab.$(O)                     \
+       $(BLD)/strftime.$(O)            \
+       $(BLD)/charset.$(O)             \
+       $(BLD)/character.$(O)           \
+       $(BLD)/chartab.$(O)             \
        $(BLD)/coding.$(O)                      \
-       $(BLD)/category.$(O)                    \
-       $(BLD)/ccl.$(O)                         \
-       $(BLD)/fontset.$(O)                     \
+       $(BLD)/category.$(O)            \
+       $(BLD)/ccl.$(O)                 \
+       $(BLD)/font.$(O)                        \
+       $(BLD)/fontset.$(O)             \
        $(BLD)/fringe.$(O)                      \
        $(BLD)/image.$(O)                       \
-       $(BLD)/terminal.$(O)
-
+       $(BLD)/terminal.$(O)            \
+        $(BLD)/menu.$(O)
 
-WIN32OBJ = $(BLD)/w32term.$(O)                 \
-          $(BLD)/w32xfns.$(O)                  \
-          $(BLD)/w32fns.$(O)                   \
-          $(BLD)/xfaces.$(O)                   \
+WIN32OBJ = $(BLD)/w32term.$(O)         \
+          $(BLD)/w32xfns.$(O)          \
+          $(BLD)/w32fns.$(O)           \
+          $(BLD)/xfaces.$(O)           \
           $(BLD)/w32select.$(O)                \
-          $(BLD)/w32menu.$(O)                  \
-          $(BLD)/w32reg.$(O)                   \
-          $(BLD)/w32bdf.$(O)
+          $(BLD)/w32menu.$(O)          \
+          $(BLD)/w32reg.$(O)
 
-FONTOBJ =
-ifdef USE_FONTBACKEND
-FONTOBJ = $(BLD)/font.$(O) \
-         $(BLD)/w32font.$(O)
-endif
+FONTOBJ = $(BLD)/w32font.$(O) $(BLD)/w32uniscribe.$(O)
 
 LIBS =  $(TLIB0)       \
        $(TLIB1)        \
@@ -152,11 +146,12 @@ LIBS =  $(TLIB0)  \
        $(GDI32)        \
        $(COMDLG32)     \
        $(USER32)       \
-       $(MPR)          \
+       $(MPR)  \
        $(SHELL32)      \
        $(WINSPOOL)     \
        $(OLE32)        \
        $(COMCTL32)     \
+       $(UNISCRIBE)    \
        $(libc)
 
 #
@@ -266,8 +261,11 @@ clean:
        - $(DEL_TREE) $(OBJDIR)
        - $(DEL) stamp_BLD
 
-distclean:     clean
-       - $(DEL) config.h epaths.h
+distclean:     cleanall
+       - $(DEL) config.h epaths.h Makefile
+
+maintainer-clean: distclean
+       - $(DEL) TAGS
 
 cleanall:      clean
        - $(DEL_TREE) obj
@@ -277,29 +275,27 @@ cleanall: clean
 
 ### DEPENDENCIES ###
 
-EMACS_ROOT     = ..
-SRC            = .
+EMACS_ROOT = ..
+SRC       = .
+CONFIG_H   = $(EMACS_ROOT)/src/s/ms-w32.h \
+            $(EMACS_ROOT)/src/m/intel386.h \
+            $(EMACS_ROOT)/src/config.h
 
 $(BLD)/abbrev.$(O) : \
        $(SRC)/abbrev.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
        $(SRC)/commands.h \
        $(SRC)/dispextern.h \
        $(SRC)/syntax.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/alloc.$(O) : \
        $(SRC)/alloc.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
@@ -312,18 +308,12 @@ $(BLD)/alloc.$(O) : \
        $(SRC)/process.h \
        $(SRC)/puresize.h \
        $(SRC)/syssignal.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/atimer.$(O) : \
        $(SRC)/atimer.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
-       $(SRC)/s/ms-w32.h \
-       $(SRC)/m/intel386.h \
-       $(SRC)/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/syssignal.h \
@@ -331,10 +321,8 @@ $(BLD)/atimer.$(O) : \
 
 $(BLD)/buffer.$(O) : \
        $(SRC)/buffer.c \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/param.h \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
        $(SRC)/charset.h \
@@ -347,15 +335,12 @@ $(BLD)/buffer.$(O) : \
        $(SRC)/keyboard.h \
        $(SRC)/keymap.h \
        $(SRC)/region-cache.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/bytecode.$(O) : \
        $(SRC)/bytecode.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/charset.h \
        $(SRC)/syntax.h \
@@ -363,23 +348,18 @@ $(BLD)/bytecode.$(O) : \
 
 $(BLD)/callint.$(O) : \
        $(SRC)/callint.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/dispextern.h \
        $(SRC)/keyboard.h \
        $(SRC)/keymap.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/callproc.$(O) : \
        $(SRC)/callproc.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/param.h \
        $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
@@ -400,9 +380,7 @@ $(BLD)/callproc.$(O) : \
 
 $(BLD)/casefiddle.$(O) : \
        $(SRC)/casefiddle.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
@@ -413,17 +391,13 @@ $(BLD)/casefiddle.$(O) : \
 
 $(BLD)/casetab.$(O) : \
        $(SRC)/casetab.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/charset.h
 
 $(BLD)/category.$(O) : \
        $(SRC)/category.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/category.h \
        $(SRC)/character.h \
@@ -432,9 +406,7 @@ $(BLD)/category.$(O) : \
 
 $(BLD)/ccl.$(O) : \
        $(SRC)/ccl.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/ccl.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
@@ -442,9 +414,7 @@ $(BLD)/ccl.$(O) : \
 
 $(BLD)/character.$(O) : \
        $(SRC)/character.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
@@ -454,9 +424,7 @@ $(BLD)/character.$(O) : \
 
 $(BLD)/charset.$(O) : \
        $(SRC)/charset.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/character.h \
@@ -467,25 +435,19 @@ $(BLD)/charset.$(O) : \
 
 $(BLD)/chartab.$(O) : \
        $(SRC)/chartab.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/charset.h \
        $(SRC)/character.h
 
 $(BLD)/cm.$(O) : \
        $(SRC)/cm.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/cm.h \
        $(SRC)/termhooks.h
 
 $(BLD)/cmds.$(O) : \
        $(SRC)/cmds.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
@@ -494,15 +456,12 @@ $(BLD)/cmds.$(O) : \
        $(SRC)/keyboard.h \
        $(SRC)/keymap.h \
        $(SRC)/syntax.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/coding.$(O) : \
        $(SRC)/coding.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/character.h \
@@ -513,29 +472,23 @@ $(BLD)/coding.$(O) : \
        $(SRC)/intervals.h \
        $(SRC)/frame.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/composite.$(O) : \
        $(SRC)/composite.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
        $(SRC)/composite.h \
        $(SRC)/dispextern.h \
        $(SRC)/intervals.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h
 
 $(BLD)/data.$(O) : \
        $(SRC)/data.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
@@ -547,9 +500,7 @@ $(BLD)/data.$(O) : \
 
 $(BLD)/dired.$(O) : \
        $(SRC)/dired.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/character.h \
@@ -562,9 +513,7 @@ $(BLD)/dired.$(O) : \
 
 $(BLD)/dispnew.$(O) : \
        $(SRC)/dispnew.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
        $(SRC)/atimer.h \
@@ -587,16 +536,13 @@ $(BLD)/dispnew.$(O) : \
        $(SRC)/termchar.h \
        $(SRC)/termhooks.h \
        $(SRC)/termopts.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h \
        $(SRC)/window.h
 
 $(BLD)/doc.$(O) : \
        $(SRC)/doc.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
@@ -606,17 +552,13 @@ $(BLD)/doc.$(O) : \
 
 $(BLD)/doprnt.$(O) : \
        $(SRC)/doprnt.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/character.h \
        $(SRC)/charset.c
 
 $(BLD)/editfns.$(O) : \
        $(SRC)/editfns.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/pwd.h \
        $(SRC)/buffer.h \
        $(SRC)/ccl.h \
@@ -628,15 +570,12 @@ $(BLD)/editfns.$(O) : \
        $(SRC)/frame.h \
        $(SRC)/intervals.h \
        $(SRC)/systime.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/emacs.$(O) : \
        $(SRC)/emacs.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
        $(SRC)/atimer.h \
@@ -653,30 +592,24 @@ $(BLD)/emacs.$(O) : \
        $(SRC)/systime.h \
        $(SRC)/systty.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32heap.h \
        $(SRC)/window.h
 
 $(BLD)/eval.$(O) : \
        $(SRC)/eval.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/commands.h \
        $(SRC)/dispextern.h \
        $(SRC)/keyboard.h \
        $(SRC)/systime.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h
 
 $(BLD)/fileio.$(O) : \
        $(SRC)/fileio.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/pwd.h \
        $(EMACS_ROOT)/nt/inc/sys/param.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
@@ -690,15 +623,12 @@ $(BLD)/fileio.$(O) : \
        $(SRC)/dispextern.h \
        $(SRC)/intervals.h \
        $(SRC)/systime.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/filelock.$(O) : \
        $(SRC)/filelock.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/pwd.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
        $(EMACS_ROOT)/src/epaths.h \
@@ -711,31 +641,20 @@ $(BLD)/filelock.$(O) : \
 
 $(BLD)/filemode.$(O) : \
        $(SRC)/filemode.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
-       $(SRC)/s/ms-w32.h \
-       $(SRC)/m/intel386.h \
-       $(SRC)/config.h
+       $(CONFIG_H)
 
 $(BLD)/firstfile.$(O) : \
        $(SRC)/firstfile.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h
+       $(CONFIG_H)
 
 $(BLD)/floatfns.$(O) : \
        $(SRC)/floatfns.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/syssignal.h
 
 $(BLD)/fns.$(O) : \
        $(SRC)/fns.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/langinfo.h \
        $(EMACS_ROOT)/nt/inc/nl_types.h \
        $(SRC)/atimer.h \
@@ -755,15 +674,12 @@ $(BLD)/fns.$(O) : \
        $(SRC)/md5.h \
        $(SRC)/systime.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/font.$(O) : \
        $(SRC)/font.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/dispextern.h \
        $(SRC)/frame.h \
        $(SRC)/window.h \
@@ -774,9 +690,7 @@ $(BLD)/font.$(O) : \
 
 $(BLD)/fontset.$(O) : \
        $(SRC)/fontset.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/ccl.h \
        $(SRC)/character.h \
@@ -787,15 +701,12 @@ $(BLD)/fontset.$(O) : \
        $(SRC)/frame.h \
        $(SRC)/keyboard.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/frame.$(O) : \
        $(SRC)/frame.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -809,39 +720,31 @@ $(BLD)/frame.$(O) : \
        $(SRC)/systime.h \
        $(SRC)/termchar.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h \
        $(SRC)/window.h
 
 $(BLD)/fringe.$(O) : \
        $(SRC)/fringe.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
        $(SRC)/dispextern.h \
        $(SRC)/frame.h \
        $(SRC)/systime.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/gmalloc.$(O) : \
        $(SRC)/gmalloc.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/param.h \
        $(SRC)/getpagesize.h
 
 $(BLD)/image.$(O): \
        $(SRC)/image.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/dispextern.h \
@@ -849,7 +752,6 @@ $(BLD)/image.$(O): \
        $(SRC)/frame.h \
        $(SRC)/systime.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32heap.h \
        $(SRC)/w32term.h \
@@ -857,9 +759,7 @@ $(BLD)/image.$(O): \
 
 $(BLD)/indent.$(O) : \
        $(SRC)/indent.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/category.h \
        $(SRC)/character.h \
@@ -874,15 +774,12 @@ $(BLD)/indent.$(O) : \
        $(SRC)/region-cache.h \
        $(SRC)/termchar.h \
        $(SRC)/termopts.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/insdel.$(O) : \
        $(SRC)/insdel.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -893,15 +790,12 @@ $(BLD)/insdel.$(O) : \
        $(SRC)/intervals.h \
        $(SRC)/region-cache.h \
        $(SRC)/systime.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/intervals.$(O) : \
        $(SRC)/intervals.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/composite.h \
        $(SRC)/dispextern.h \
@@ -909,14 +803,11 @@ $(BLD)/intervals.$(O) : \
        $(SRC)/keyboard.h \
        $(SRC)/keymap.h \
        $(SRC)/puresize.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h
 
 $(BLD)/keyboard.$(O) : \
        $(SRC)/keyboard.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
        $(SRC)/atimer.h \
@@ -941,16 +832,13 @@ $(BLD)/keyboard.$(O) : \
        $(SRC)/termchar.h \
        $(SRC)/termhooks.h \
        $(SRC)/termopts.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h \
        $(SRC)/window.h
 
 $(BLD)/keymap.$(O) : \
        $(SRC)/keymap.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -965,20 +853,15 @@ $(BLD)/keymap.$(O) : \
        $(SRC)/puresize.h \
        $(SRC)/systime.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h
 
 $(BLD)/lastfile.$(O) : \
        $(SRC)/lastfile.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h
+       $(CONFIG_H)
 
 $(BLD)/lread.$(O) : \
        $(SRC)/lread.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
        $(EMACS_ROOT)/src/epaths.h \
        $(SRC)/blockinput.h \
@@ -993,28 +876,22 @@ $(BLD)/lread.$(O) : \
        $(SRC)/intervals.h \
        $(SRC)/keyboard.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h
 
 $(BLD)/macros.$(O) : \
        $(SRC)/macros.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/commands.h \
        $(SRC)/dispextern.h \
        $(SRC)/keyboard.h \
        $(SRC)/macros.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/marker.$(O) : \
        $(SRC)/marker.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
        $(SRC)/charset.h
@@ -1023,11 +900,21 @@ $(BLD)/md5.$(O) : \
        $(SRC)/md5.c \
        $(SRC)/md5.h
 
+$(BLD)/menu.$(O) : \
+        $(SRC)/menu.c \
+        $(CONFIG_H) \
+        $(SRC)/keyboard.h \
+        $(SRC)/keymap.h \
+        $(SRC)/frame.h \
+        $(SRC)/termhooks.h \
+        $(SRC)/blockinput.h \
+        $(SRC)/dispextern.h \
+        $(SRC)/w32gui.h \
+        $(SRC)/w32term.h
+
 $(BLD)/minibuf.$(O) : \
        $(SRC)/minibuf.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
@@ -1040,16 +927,13 @@ $(BLD)/minibuf.$(O) : \
        $(SRC)/keymap.h \
        $(SRC)/syntax.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/w32.$(O) : \
        $(SRC)/w32.c \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/pwd.h \
-       $(SRC)/s/ms-w32.h \
-       $(SRC)/m/intel386.h \
-       $(SRC)/config.h \
        $(SRC)/ndir.h \
        $(SRC)/systime.h \
        $(SRC)/w32.h \
@@ -1057,67 +941,54 @@ $(BLD)/w32.$(O) : \
 
 $(BLD)/w32heap.$(O) : \
        $(SRC)/w32heap.c \
-       $(SRC)/s/ms-w32.h \
-       $(SRC)/m/intel386.h \
-       $(SRC)/config.h \
+       $(CONFIG_H) \
        $(SRC)/w32heap.h
 
 $(BLD)/w32inevt.$(O) : \
        $(SRC)/w32inevt.c \
-       $(SRC)/s/ms-w32.h \
-       $(SRC)/m/intel386.h \
-       $(SRC)/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/frame.h \
        $(SRC)/keyboard.h \
        $(SRC)/systime.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32heap.h \
        $(SRC)/w32term.h
 
 $(BLD)/w32proc.$(O) : \
        $(SRC)/w32proc.c \
-       $(SRC)/s/ms-w32.h \
-       $(SRC)/m/intel386.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/langinfo.h \
        $(EMACS_ROOT)/nt/inc/nl_types.h \
-       $(SRC)/config.h \
        $(SRC)/character.h \
        $(SRC)/process.h \
        $(SRC)/syssignal.h \
        $(SRC)/systime.h \
        $(SRC)/syswait.h \
        $(SRC)/w32.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32heap.h \
        $(SRC)/w32term.h
 
 $(BLD)/w32console.$(O) : \
        $(SRC)/w32console.c \
-       $(SRC)/s/ms-w32.h \
-       $(SRC)/m/intel386.h \
+       $(CONFIG_H) \
        $(SRC)/ccl.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
        $(SRC)/coding.h \
-       $(SRC)/config.h \
        $(SRC)/dispextern.h \
        $(SRC)/disptab.h \
        $(SRC)/frame.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32inevt.h
 
 $(BLD)/print.$(O) : \
        $(SRC)/print.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
@@ -1128,15 +999,12 @@ $(BLD)/print.$(O) : \
        $(SRC)/keyboard.h \
        $(SRC)/process.h \
        $(SRC)/termchar.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/process.$(O) : \
        $(SRC)/process.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
        $(SRC)/atimer.h \
@@ -1159,63 +1027,45 @@ $(BLD)/process.$(O) : \
        $(SRC)/syswait.h \
        $(SRC)/termhooks.h \
        $(SRC)/termopts.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/ralloc.$(O) : \
        $(SRC)/ralloc.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/param.h \
-       $(SRC)/s/ms-w32.h \
-       $(SRC)/m/intel386.h \
-       $(SRC)/config.h \
        $(SRC)/getpagesize.h
 
 $(BLD)/regex.$(O) : \
        $(SRC)/regex.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
-       $(SRC)/s/ms-w32.h \
-       $(SRC)/m/intel386.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/category.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
-       $(SRC)/config.h \
        $(SRC)/regex.h \
        $(SRC)/syntax.h
 
 $(BLD)/region-cache.$(O) : \
        $(SRC)/region-cache.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/region-cache.h
 
 $(BLD)/scroll.$(O) : \
        $(SRC)/scroll.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/dispextern.h \
        $(SRC)/frame.h \
        $(SRC)/keyboard.h \
        $(SRC)/termchar.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/search.$(O) : \
        $(SRC)/search.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -1230,27 +1080,22 @@ $(BLD)/search.$(O) : \
        $(SRC)/region-cache.h \
        $(SRC)/syntax.h \
        $(SRC)/systime.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h
 
 $(BLD)/sound.$(O) : \
        $(SRC)/sound.c \
-       $(SRC)/lisp.h \
+       $(CONFIG_H) \
        $(SRC)/dispextern.h \
        $(SRC)/atimer.h \
        $(SRC)/syssignal.h
 
 $(BLD)/strftime.$(O) : \
        $(SRC)/strftime.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h
+       $(CONFIG_H)
 
 $(BLD)/syntax.$(O) : \
        $(SRC)/syntax.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/category.h \
        $(SRC)/character.h \
@@ -1261,14 +1106,11 @@ $(BLD)/syntax.$(O) : \
        $(SRC)/intervals.h \
        $(SRC)/keymap.h \
        $(SRC)/syntax.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h
 
 $(BLD)/sysdep.$(O) : \
        $(SRC)/sysdep.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/param.h \
        $(EMACS_ROOT)/nt/inc/sys/file.h \
        $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
@@ -1289,15 +1131,12 @@ $(BLD)/sysdep.$(O) : \
        $(SRC)/termchar.h \
        $(SRC)/termhooks.h \
        $(SRC)/termopts.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/term.$(O) : \
        $(SRC)/term.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/ccl.h \
        $(SRC)/character.h \
        $(SRC)/charset.h \
@@ -1311,22 +1150,17 @@ $(BLD)/term.$(O) : \
        $(SRC)/termchar.h \
        $(SRC)/termhooks.h \
        $(SRC)/termopts.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/termcap.$(O) : \
        $(SRC)/termcap.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(EMACS_ROOT)/nt/inc/sys/file.h
 
 $(BLD)/terminal.$(O) : \
        $(SRC)/terminal.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/charset.h \
        $(SRC)/coding.h \
        $(SRC)/frame.h \
@@ -1336,50 +1170,37 @@ $(BLD)/terminal.$(O) : \
 
 $(BLD)/textprop.$(O) : \
        $(SRC)/textprop.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/composite.h \
        $(SRC)/dispextern.h \
        $(SRC)/intervals.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/window.h
 
 $(BLD)/tparam.$(O) : \
        $(SRC)/tparam.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h
+       $(CONFIG_H)
 
 $(BLD)/undo.$(O) : \
        $(SRC)/undo.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/buffer.h \
        $(SRC)/commands.h
 
 $(BLD)/unexw32.$(O) : \
        $(SRC)/unexw32.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/w32heap.h
 
 $(BLD)/vm-limit.$(O) : \
        $(SRC)/vm-limit.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/mem-limits.h
 
 $(BLD)/window.$(O) : \
        $(SRC)/window.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -1394,16 +1215,13 @@ $(BLD)/window.$(O) : \
        $(SRC)/keymap.h \
        $(SRC)/systime.h \
        $(SRC)/termchar.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h \
        $(SRC)/window.h
 
 $(BLD)/xdisp.$(O) : \
        $(SRC)/xdisp.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -1428,16 +1246,13 @@ $(BLD)/xdisp.$(O) : \
        $(SRC)/systime.h \
        $(SRC)/termchar.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h \
        $(SRC)/window.h
 
 $(BLD)/xfaces.$(O): \
        $(SRC)/xfaces.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -1453,16 +1268,13 @@ $(BLD)/xfaces.$(O): \
        $(SRC)/systime.h \
        $(SRC)/termchar.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h \
        $(SRC)/window.h
 
 $(BLD)/w32fns.$(O): \
        $(SRC)/w32fns.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -1480,7 +1292,6 @@ $(BLD)/w32fns.$(O): \
        $(SRC)/keyboard.h \
        $(SRC)/systime.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32heap.h \
        $(SRC)/w32term.h \
@@ -1488,9 +1299,7 @@ $(BLD)/w32fns.$(O): \
 
 $(BLD)/w32menu.$(O): \
        $(SRC)/w32menu.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -1503,16 +1312,13 @@ $(BLD)/w32menu.$(O): \
        $(SRC)/keymap.h \
        $(SRC)/systime.h \
        $(SRC)/termhooks.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h \
        $(SRC)/window.h
 
 $(BLD)/w32term.$(O): \
        $(SRC)/w32term.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -1526,7 +1332,6 @@ $(BLD)/w32term.$(O): \
        $(SRC)/font.h \
        $(SRC)/fontset.h \
        $(SRC)/frame.h \
-       $(SRC)/gnu.h \
        $(SRC)/intervals.h \
        $(SRC)/keyboard.h \
        $(SRC)/keymap.h \
@@ -1535,7 +1340,6 @@ $(BLD)/w32term.$(O): \
        $(SRC)/termchar.h \
        $(SRC)/termhooks.h \
        $(SRC)/termopts.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32heap.h \
        $(SRC)/w32term.h \
@@ -1543,9 +1347,7 @@ $(BLD)/w32term.$(O): \
 
 $(BLD)/w32select.$(O): \
        $(SRC)/w32select.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/buffer.h \
@@ -1558,28 +1360,22 @@ $(BLD)/w32select.$(O): \
        $(SRC)/frame.h \
        $(SRC)/keyboard.h \
        $(SRC)/systime.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32heap.h \
        $(SRC)/w32term.h
 
 $(BLD)/w32reg.$(O): \
        $(SRC)/w32reg.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/systime.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h
 
 $(BLD)/w32xfns.$(O): \
        $(SRC)/w32xfns.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+       $(CONFIG_H) \
        $(SRC)/atimer.h \
        $(SRC)/blockinput.h \
        $(SRC)/character.h \
@@ -1588,35 +1384,28 @@ $(BLD)/w32xfns.$(O): \
        $(SRC)/frame.h \
        $(SRC)/keyboard.h \
        $(SRC)/systime.h \
-       $(SRC)/w32bdf.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h
 
-$(BLD)/w32bdf.$(O): \
-       $(SRC)/w32bdf.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
-       $(SRC)/atimer.h \
-       $(SRC)/blockinput.h \
+$(BLD)/w32font.$(O): \
+       $(SRC)/w32font.c \
+       $(CONFIG_H) \
        $(SRC)/character.h \
        $(SRC)/charset.h \
        $(SRC)/dispextern.h \
+       $(SRC)/font.h \
        $(SRC)/fontset.h \
        $(SRC)/frame.h \
-       $(SRC)/keyboard.h \
-       $(SRC)/systime.h \
-       $(SRC)/w32bdf.h \
+       $(SRC)/w32font.h \
        $(SRC)/w32gui.h \
        $(SRC)/w32term.h
 
-$(BLD)/w32font$(O): \
-       $(SRC)/w32font.c \
-       $(EMACS_ROOT)/src/s/ms-w32.h \
-       $(EMACS_ROOT)/src/m/intel386.h \
-       $(EMACS_ROOT)/src/config.h \
+$(BLD)/w32uniscribe.$(O): \
+       $(SRC)/w32uniscribe.c \
+       $(CONFIG_H) \
        $(SRC)/character.h \
        $(SRC)/charset.h \
+       $(SRC)/composite.h \
        $(SRC)/dispextern.h \
        $(SRC)/font.h \
        $(SRC)/fontset.h \