diff --git a/Makefile.in b/Makefile.in
index 5ce3e73b8b63ac30213571c268313859f2452d08..b8a21116ef74979a5ee3960a39cb8c836e76e71e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -34,18 +34,29 @@ LIBSUBDIRS = \
 	dlls/avifil32 \
 	dlls/comctl32 \
 	dlls/commdlg \
+	dlls/crtdll \
+	dlls/dciman32 \
 	dlls/imagehlp \
+	dlls/imm32 \
+	dlls/lzexpand \
 	dlls/msacm \
 	dlls/msacm32 \
+	dlls/msnet32 \
+	dlls/msvideo \
 	dlls/ntdll \
 	dlls/psapi \
 	dlls/rasapi32 \
 	dlls/shell32 \
+	dlls/sound \
+	dlls/stress \
 	dlls/tapi32 \
 	dlls/ver \
 	dlls/version \
+	dlls/win32s \
 	dlls/win87em \
 	dlls/winaspi \
+	dlls/windebug \
+	dlls/wing \
 	dlls/winspool \
 	dlls/wnaspi32 \
 	files \
@@ -114,18 +125,29 @@ LIBOBJS = \
 	dlls/avifil32/avifil32.o \
 	dlls/comctl32/comctl32.o \
 	dlls/commdlg/commdlg.o \
+	dlls/crtdll/crtdll.o \
+	dlls/dciman32/dciman32.o \
 	dlls/imagehlp/imagehlp.o \
+	dlls/imm32/imm32.o \
+	dlls/lzexpand/lzexpand.o \
 	dlls/msacm/msacm.o \
 	dlls/msacm32/msacm32.o \
+	dlls/msnet32/msnet32.o \
+	dlls/msvideo/msvideo.o \
 	dlls/ntdll/ntdll.o \
 	dlls/psapi/psapi.o \
 	dlls/rasapi32/rasapi32.o \
 	dlls/shell32/shell32.o \
+	dlls/sound/sound.o \
+	dlls/stress/stress.o \
 	dlls/tapi32/tapi32.o \
 	dlls/ver/ver.o \
 	dlls/version/version.o \
+	dlls/win32s/win32s.o \
 	dlls/win87em/win87em.o \
 	dlls/winaspi/winaspi.o \
+	dlls/windebug/windebug.o \
+	dlls/wing/wing.o \
 	dlls/winspool/winspool.o \
 	dlls/wnaspi32/wnaspi32.o \
 	files/files.o \
diff --git a/configure b/configure
index 4b392aebaf7dcd39c24c57969dd1ec9bf5d8943f..419a03b363ff6c0780812d961781d4c1eaebbeb6 100755
--- a/configure
+++ b/configure
@@ -5424,18 +5424,29 @@ dlls/advapi32/Makefile
 dlls/avifil32/Makefile
 dlls/comctl32/Makefile
 dlls/commdlg/Makefile
+dlls/crtdll/Makefile
+dlls/dciman32/Makefile
 dlls/imagehlp/Makefile
+dlls/imm32/Makefile
+dlls/lzexpand/Makefile
 dlls/msacm/Makefile
 dlls/msacm32/Makefile
+dlls/msnet32/Makefile
+dlls/msvideo/Makefile
 dlls/ntdll/Makefile
 dlls/psapi/Makefile
 dlls/rasapi32/Makefile
 dlls/shell32/Makefile
+dlls/sound/Makefile
+dlls/stress/Makefile
 dlls/tapi32/Makefile
 dlls/ver/Makefile
 dlls/version/Makefile
+dlls/win32s/Makefile
 dlls/win87em/Makefile
 dlls/winaspi/Makefile
+dlls/windebug/Makefile
+dlls/wing/Makefile
 dlls/winspool/Makefile
 dlls/wnaspi32/Makefile
 documentation/Makefile
@@ -5599,18 +5610,29 @@ dlls/advapi32/Makefile
 dlls/avifil32/Makefile
 dlls/comctl32/Makefile
 dlls/commdlg/Makefile
+dlls/crtdll/Makefile
+dlls/dciman32/Makefile
 dlls/imagehlp/Makefile
+dlls/imm32/Makefile
+dlls/lzexpand/Makefile
 dlls/msacm/Makefile
 dlls/msacm32/Makefile
+dlls/msnet32/Makefile
+dlls/msvideo/Makefile
 dlls/ntdll/Makefile
 dlls/psapi/Makefile
 dlls/rasapi32/Makefile
 dlls/shell32/Makefile
+dlls/sound/Makefile
+dlls/stress/Makefile
 dlls/tapi32/Makefile
 dlls/ver/Makefile
 dlls/version/Makefile
+dlls/win32s/Makefile
 dlls/win87em/Makefile
 dlls/winaspi/Makefile
+dlls/windebug/Makefile
+dlls/wing/Makefile
 dlls/winspool/Makefile
 dlls/wnaspi32/Makefile
 documentation/Makefile
diff --git a/configure.in b/configure.in
index 1ded0b9fbdfd9c938e1fe8766e93d01d35e8cfbc..a3bf6241e2ab17517a4dc07a10adf1fae3379b3d 100644
--- a/configure.in
+++ b/configure.in
@@ -775,18 +775,29 @@ dlls/advapi32/Makefile
 dlls/avifil32/Makefile
 dlls/comctl32/Makefile
 dlls/commdlg/Makefile
+dlls/crtdll/Makefile
+dlls/dciman32/Makefile
 dlls/imagehlp/Makefile
+dlls/imm32/Makefile
+dlls/lzexpand/Makefile
 dlls/msacm/Makefile
 dlls/msacm32/Makefile
+dlls/msnet32/Makefile
+dlls/msvideo/Makefile
 dlls/ntdll/Makefile
 dlls/psapi/Makefile
 dlls/rasapi32/Makefile
 dlls/shell32/Makefile
+dlls/sound/Makefile
+dlls/stress/Makefile
 dlls/tapi32/Makefile
 dlls/ver/Makefile
 dlls/version/Makefile
+dlls/win32s/Makefile
 dlls/win87em/Makefile
 dlls/winaspi/Makefile
+dlls/windebug/Makefile
+dlls/wing/Makefile
 dlls/winspool/Makefile
 dlls/wnaspi32/Makefile
 documentation/Makefile
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index 3c9e4324d2025435d6ec6547d06a9706f78c3c0d..f100e1731440018bc65919423073ca8d850db347 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -3,17 +3,29 @@ SUBDIRS = \
 	avifil32 \
 	comctl32 \
 	commdlg \
+	crtdll \
+	dciman32 \
 	imagehlp \
+	imm32 \
+	lzexpand \
 	msacm \
 	msacm32 \
+	msnet32 \
+	msvideo \
 	ntdll \
 	psapi \
 	shell32 \
+	sound \
+	stress \
 	tapi32 \
 	ver \
 	version \
+	win32s \
 	win87em \
 	winaspi \
+	windebug \
+	wing \
+	winspool \
 	wnaspi32
 
 all: $(SUBDIRS)
diff --git a/dlls/avifil32/.cvsignore b/dlls/avifil32/.cvsignore
index 6acfdbd5d4fa5ce471ad9f9bd747c631ee9ccf3f..f0e2feab66171384600b560e3500d250bebb6cd7 100644
--- a/dlls/avifil32/.cvsignore
+++ b/dlls/avifil32/.cvsignore
@@ -1,2 +1,4 @@
 Makefile
 avifil32.spec.c
+avifile.spec.c
+avifile.spec.glue.s
diff --git a/dlls/avifil32/Makefile.in b/dlls/avifil32/Makefile.in
index 5ed981b315c225a009216932f67aa8ea9a04d060..13ebef97208a555545e6f56a200079eb691ced09 100644
--- a/dlls/avifil32/Makefile.in
+++ b/dlls/avifil32/Makefile.in
@@ -5,7 +5,8 @@ SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = avifil32
 
-SPEC_SRCS = avifil32.spec
+SPEC_SRCS = avifil32.spec avifile.spec
+GLUE      = avifile.spec.c
 
 C_SRCS = \
 	avifile.c
diff --git a/if1632/avifile.spec b/dlls/avifil32/avifile.spec
similarity index 100%
rename from if1632/avifile.spec
rename to dlls/avifil32/avifile.spec
diff --git a/dlls/crtdll/.cvsignore b/dlls/crtdll/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..2ca972c0de575d285a1662ed565f128750f355d4
--- /dev/null
+++ b/dlls/crtdll/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+crtdll.spec.c
diff --git a/dlls/crtdll/Makefile.in b/dlls/crtdll/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..be6e77f7a8eccecfa281e12de6ada9ad217f1816
--- /dev/null
+++ b/dlls/crtdll/Makefile.in
@@ -0,0 +1,17 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = crtdll
+
+SPEC_SRCS = crtdll.spec
+
+C_SRCS = \
+	crtdll_main.c
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
diff --git a/relay32/crtdll.spec b/dlls/crtdll/crtdll.spec
similarity index 100%
rename from relay32/crtdll.spec
rename to dlls/crtdll/crtdll.spec
diff --git a/misc/crtdll.c b/dlls/crtdll/crtdll_main.c
similarity index 100%
rename from misc/crtdll.c
rename to dlls/crtdll/crtdll_main.c
diff --git a/dlls/dciman32/.cvsignore b/dlls/dciman32/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..6757d1d1146035be098522f2ebceed53463720f4
--- /dev/null
+++ b/dlls/dciman32/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+dciman32.spec.c
diff --git a/dlls/dciman32/Makefile.in b/dlls/dciman32/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..3f8e85fcbf9e6c0bb51dbe3e7a85d32bdd6be2c6
--- /dev/null
+++ b/dlls/dciman32/Makefile.in
@@ -0,0 +1,14 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = dciman32
+
+SPEC_SRCS = dciman32.spec
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
diff --git a/relay32/dciman32.spec b/dlls/dciman32/dciman32.spec
similarity index 100%
rename from relay32/dciman32.spec
rename to dlls/dciman32/dciman32.spec
diff --git a/dlls/imm32/.cvsignore b/dlls/imm32/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..5858c9b90b7abf57d11b61fe64ab6c7f5174b7b5
--- /dev/null
+++ b/dlls/imm32/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+imm32.spec.c
diff --git a/dlls/imm32/Makefile.in b/dlls/imm32/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..890b0682bf211312f5dddb91559042994ece701d
--- /dev/null
+++ b/dlls/imm32/Makefile.in
@@ -0,0 +1,17 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = imm32
+
+SPEC_SRCS = imm32.spec
+
+C_SRCS = \
+	imm.c
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
diff --git a/misc/imm.c b/dlls/imm32/imm.c
similarity index 100%
rename from misc/imm.c
rename to dlls/imm32/imm.c
diff --git a/relay32/imm32.spec b/dlls/imm32/imm32.spec
similarity index 100%
rename from relay32/imm32.spec
rename to dlls/imm32/imm32.spec
diff --git a/dlls/lzexpand/.cvsignore b/dlls/lzexpand/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..6bbf327d84615d59c0670f5d8798b5371e171a18
--- /dev/null
+++ b/dlls/lzexpand/.cvsignore
@@ -0,0 +1,4 @@
+Makefile
+lz32.spec.c
+lzexpand.spec.c
+lzexpand.spec.glue.s
diff --git a/dlls/lzexpand/Makefile.in b/dlls/lzexpand/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..78ff4b1684ed59ae9df0dccf651d5cae61b3ea74
--- /dev/null
+++ b/dlls/lzexpand/Makefile.in
@@ -0,0 +1,19 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = lzexpand
+
+SPEC_SRCS = lz32.spec lzexpand.spec
+GLUE      = lzexpand.spec.c
+
+C_SRCS = \
+	lzexpand_main.c
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
+
diff --git a/relay32/lz32.spec b/dlls/lzexpand/lz32.spec
similarity index 100%
rename from relay32/lz32.spec
rename to dlls/lzexpand/lz32.spec
diff --git a/if1632/lzexpand.spec b/dlls/lzexpand/lzexpand.spec
similarity index 100%
rename from if1632/lzexpand.spec
rename to dlls/lzexpand/lzexpand.spec
diff --git a/misc/lzexpand.c b/dlls/lzexpand/lzexpand_main.c
similarity index 100%
rename from misc/lzexpand.c
rename to dlls/lzexpand/lzexpand_main.c
diff --git a/dlls/msnet32/.cvsignore b/dlls/msnet32/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..a5862c10c4a80a57a8b1ae79b6d725e0c1a4cbc4
--- /dev/null
+++ b/dlls/msnet32/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+msnet32.spec.c
diff --git a/dlls/msnet32/Makefile.in b/dlls/msnet32/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..3b385cafd8ec7af455bdfda23ac8b1f848b1a041
--- /dev/null
+++ b/dlls/msnet32/Makefile.in
@@ -0,0 +1,14 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = msnet32
+
+SPEC_SRCS = msnet32.spec
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
diff --git a/relay32/msnet32.spec b/dlls/msnet32/msnet32.spec
similarity index 100%
rename from relay32/msnet32.spec
rename to dlls/msnet32/msnet32.spec
diff --git a/dlls/msvideo/.cvsignore b/dlls/msvideo/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..9f53303e4ca1a6b660d5bfe22c04006c90c9feb2
--- /dev/null
+++ b/dlls/msvideo/.cvsignore
@@ -0,0 +1,4 @@
+Makefile
+msvfw32.spec.c
+msvideo.spec.c
+msvideo.spec.glue.s
diff --git a/dlls/msvideo/Makefile.in b/dlls/msvideo/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..db36cf7817f6a9db03e89ed9d48ad0aae55eacf1
--- /dev/null
+++ b/dlls/msvideo/Makefile.in
@@ -0,0 +1,19 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = msvideo
+
+SPEC_SRCS = msvfw32.spec msvideo.spec
+GLUE      = msvideo.spec.c
+
+C_SRCS = \
+	msvideo_main.c
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
+
diff --git a/relay32/msvfw32.spec b/dlls/msvideo/msvfw32.spec
similarity index 100%
rename from relay32/msvfw32.spec
rename to dlls/msvideo/msvfw32.spec
diff --git a/if1632/msvideo.spec b/dlls/msvideo/msvideo.spec
similarity index 100%
rename from if1632/msvideo.spec
rename to dlls/msvideo/msvideo.spec
diff --git a/multimedia/msvideo.c b/dlls/msvideo/msvideo_main.c
similarity index 100%
rename from multimedia/msvideo.c
rename to dlls/msvideo/msvideo_main.c
diff --git a/dlls/rasapi32/.cvsignore b/dlls/rasapi32/.cvsignore
index 10ba898659b7f25c1c2709903e7d8b20f05aa6ce..537cfe916c9ec11eab0a9bd01ea3994ded050017 100644
--- a/dlls/rasapi32/.cvsignore
+++ b/dlls/rasapi32/.cvsignore
@@ -1,2 +1,4 @@
 Makefile
 rasapi32.spec.c
+rasapi16.spec.c
+rasapi16.spec.glue.s
diff --git a/dlls/rasapi32/Makefile.in b/dlls/rasapi32/Makefile.in
index 7eea9873ef75b67b670ec3f24016118d9747a95a..cb73892ad9fe573cdf69fb1affbd66e195311e0c 100644
--- a/dlls/rasapi32/Makefile.in
+++ b/dlls/rasapi32/Makefile.in
@@ -5,7 +5,8 @@ SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = rasapi32
 
-SPEC_SRCS = rasapi32.spec
+SPEC_SRCS = rasapi32.spec rasapi16.spec
+GLUE      = rasapi16.spec.c
 
 C_SRCS = rasapi.c 
 
diff --git a/if1632/rasapi16.spec b/dlls/rasapi32/rasapi16.spec
similarity index 100%
rename from if1632/rasapi16.spec
rename to dlls/rasapi32/rasapi16.spec
diff --git a/dlls/shell32/.cvsignore b/dlls/shell32/.cvsignore
index ad2da17b6c983cef29ae7cc2cbeca00249774e2a..b46bd938d1636c14d9268771b155f261dee5d636 100644
--- a/dlls/shell32/.cvsignore
+++ b/dlls/shell32/.cvsignore
@@ -1,3 +1,5 @@
 Makefile
 shell32.spec.c
+shell.spec.c
+shell.spec.glue.s
 shres.s
diff --git a/dlls/shell32/Makefile.in b/dlls/shell32/Makefile.in
index 6b010698c4412432566e3baabf188577e4a42463..5a56912ca699618992442920ad9e5bf91d6f4a08 100644
--- a/dlls/shell32/Makefile.in
+++ b/dlls/shell32/Makefile.in
@@ -6,7 +6,8 @@ VPATH     = @srcdir@
 MODULE    = shell32
 WRCEXTRA  = -s -p$(MODULE)
 
-SPEC_SRCS = shell32.spec
+SPEC_SRCS = shell32.spec shell.spec
+GLUE      = shell.spec.c
 
 C_SRCS = \
 	brsfolder.c \
@@ -20,6 +21,7 @@ C_SRCS = \
 	pidl.c \
 	regstream.c \
 	shell32_main.c \
+	shell.c \
 	shellguid.c \
 	shelllink.c \
 	shlmenu.c \
diff --git a/misc/shell.c b/dlls/shell32/shell.c
similarity index 100%
rename from misc/shell.c
rename to dlls/shell32/shell.c
diff --git a/if1632/shell.spec b/dlls/shell32/shell.spec
similarity index 100%
rename from if1632/shell.spec
rename to dlls/shell32/shell.spec
diff --git a/dlls/sound/.cvsignore b/dlls/sound/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..386da373584515367cb8c75b80a8de6901f742ae
--- /dev/null
+++ b/dlls/sound/.cvsignore
@@ -0,0 +1,3 @@
+Makefile
+sound.spec.c
+sound.spec.glue.s
diff --git a/dlls/sound/Makefile.in b/dlls/sound/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..d21b25f65f6fe152f0e0f31637ab061eb8e99d8a
--- /dev/null
+++ b/dlls/sound/Makefile.in
@@ -0,0 +1,19 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = sound
+
+SPEC_SRCS = sound.spec
+GLUE      = sound.spec.c
+
+C_SRCS = \
+	sound_main.c
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
+
diff --git a/if1632/sound.spec b/dlls/sound/sound.spec
similarity index 100%
rename from if1632/sound.spec
rename to dlls/sound/sound.spec
diff --git a/misc/sound.c b/dlls/sound/sound_main.c
similarity index 100%
rename from misc/sound.c
rename to dlls/sound/sound_main.c
diff --git a/dlls/stress/.cvsignore b/dlls/stress/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..4716037557446b6f83ae03c65e1591e25b78dc95
--- /dev/null
+++ b/dlls/stress/.cvsignore
@@ -0,0 +1,3 @@
+Makefile
+wing.spec.c
+wing.spec.glue.s
diff --git a/dlls/stress/Makefile.in b/dlls/stress/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..ee73dfc071d2cf5c53b41237a108b4d22590f726
--- /dev/null
+++ b/dlls/stress/Makefile.in
@@ -0,0 +1,19 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = stress
+
+SPEC_SRCS = stress.spec
+GLUE      = stress.spec.c
+
+C_SRCS = \
+	stress_main.c
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
+
diff --git a/if1632/stress.spec b/dlls/stress/stress.spec
similarity index 100%
rename from if1632/stress.spec
rename to dlls/stress/stress.spec
diff --git a/misc/stress.c b/dlls/stress/stress_main.c
similarity index 100%
rename from misc/stress.c
rename to dlls/stress/stress_main.c
diff --git a/dlls/win32s/.cvsignore b/dlls/win32s/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..6e8e27b024121688750fa600f206bb6c40690d0a
--- /dev/null
+++ b/dlls/win32s/.cvsignore
@@ -0,0 +1,6 @@
+Makefile
+w32skrnl.spec.c
+w32sys.spec.c
+w32sys.spec.glue.s
+win32s16.spec.c
+win32s16.spec.glue.s
diff --git a/dlls/win32s/Makefile.in b/dlls/win32s/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..d30e73feb0122c2ebb3c990b652f924b86e101db
--- /dev/null
+++ b/dlls/win32s/Makefile.in
@@ -0,0 +1,21 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = win32s
+
+SPEC_SRCS = w32sys.spec win32s16.spec w32skrnl.spec
+GLUE      = w32sys.spec.c win32s16.spec.c
+
+C_SRCS = \
+	w32skrnl.c \
+	w32sys.c \
+	win32s16.c
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
+
diff --git a/misc/w32skrnl.c b/dlls/win32s/w32skrnl.c
similarity index 100%
rename from misc/w32skrnl.c
rename to dlls/win32s/w32skrnl.c
diff --git a/relay32/w32skrnl.spec b/dlls/win32s/w32skrnl.spec
similarity index 100%
rename from relay32/w32skrnl.spec
rename to dlls/win32s/w32skrnl.spec
diff --git a/misc/w32sys.c b/dlls/win32s/w32sys.c
similarity index 100%
rename from misc/w32sys.c
rename to dlls/win32s/w32sys.c
diff --git a/if1632/w32sys.spec b/dlls/win32s/w32sys.spec
similarity index 100%
rename from if1632/w32sys.spec
rename to dlls/win32s/w32sys.spec
diff --git a/misc/win32s16.c b/dlls/win32s/win32s16.c
similarity index 100%
rename from misc/win32s16.c
rename to dlls/win32s/win32s16.c
diff --git a/if1632/win32s16.spec b/dlls/win32s/win32s16.spec
similarity index 100%
rename from if1632/win32s16.spec
rename to dlls/win32s/win32s16.spec
diff --git a/dlls/windebug/.cvsignore b/dlls/windebug/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..bfc7e8fc3990cef3df42775d89ec3e07096b2f4f
--- /dev/null
+++ b/dlls/windebug/.cvsignore
@@ -0,0 +1,3 @@
+Makefile
+windebug.spec.c
+windebug.spec.glue.s
diff --git a/dlls/windebug/Makefile.in b/dlls/windebug/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..c6dad8dce6669cca461fe23e3c7d990e1b5a3c1a
--- /dev/null
+++ b/dlls/windebug/Makefile.in
@@ -0,0 +1,19 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = windebug
+
+SPEC_SRCS = windebug.spec
+GLUE      = windebug.spec.c
+
+C_SRCS = \
+	windebug_main.c
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
+
diff --git a/if1632/windebug.spec b/dlls/windebug/windebug.spec
similarity index 100%
rename from if1632/windebug.spec
rename to dlls/windebug/windebug.spec
diff --git a/misc/windebug.c b/dlls/windebug/windebug_main.c
similarity index 100%
rename from misc/windebug.c
rename to dlls/windebug/windebug_main.c
diff --git a/dlls/wing/.cvsignore b/dlls/wing/.cvsignore
new file mode 100644
index 0000000000000000000000000000000000000000..4716037557446b6f83ae03c65e1591e25b78dc95
--- /dev/null
+++ b/dlls/wing/.cvsignore
@@ -0,0 +1,3 @@
+Makefile
+wing.spec.c
+wing.spec.glue.s
diff --git a/dlls/wing/Makefile.in b/dlls/wing/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..2a2c10630943182bdb0066100c989de8d8593f51
--- /dev/null
+++ b/dlls/wing/Makefile.in
@@ -0,0 +1,19 @@
+DEFS      = @DLLFLAGS@ -D__WINE__
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = wing
+
+SPEC_SRCS = wing.spec
+GLUE      = wing.spec.c
+
+C_SRCS = \
+	wing_main.c
+
+all: $(MODULE).o
+
+@MAKE_RULES@
+
+### Dependencies:
+
diff --git a/if1632/wing.spec b/dlls/wing/wing.spec
similarity index 100%
rename from if1632/wing.spec
rename to dlls/wing/wing.spec
diff --git a/graphics/wing.c b/dlls/wing/wing_main.c
similarity index 100%
rename from graphics/wing.c
rename to dlls/wing/wing_main.c
diff --git a/graphics/Makefile.in b/graphics/Makefile.in
index eb7bacbf99c99122fc1816660b02d976226863d3..c04a081a762bd766ce3491edb117d94a2ee7f1b2 100644
--- a/graphics/Makefile.in
+++ b/graphics/Makefile.in
@@ -24,8 +24,7 @@ C_SRCS = \
 	mapping.c \
 	painting.c \
 	path.c \
-	vga.c \
-	wing.c
+	vga.c
 
 all: $(MODULE).o
 
diff --git a/if1632/.cvsignore b/if1632/.cvsignore
index 9fb510efd2a8062bb4198388d6bfdd0389afa89e..5728d54a772ee5f8239c73bc075e312268d2bb0d 100644
--- a/if1632/.cvsignore
+++ b/if1632/.cvsignore
@@ -1,6 +1,4 @@
 Makefile
-avifile.spec.c
-avifile.spec.glue.s
 call16.s
 callfrom16.spec.c
 callfrom16.spec.glue.s
@@ -22,14 +20,10 @@ kernel.spec.c
 kernel.spec.glue.s
 keyboard.spec.c
 keyboard.spec.glue.s
-lzexpand.spec.c
-lzexpand.spec.glue.s
 mmsystem.spec.c
 mmsystem.spec.glue.s
 mouse.spec.c
 mouse.spec.glue.s
-msvideo.spec.c
-msvideo.spec.glue.s
 ole2.spec.c
 ole2.spec.glue.s
 ole2conv.spec.c
@@ -46,16 +40,8 @@ olecli.spec.c
 olecli.spec.glue.s
 olesvr.spec.c
 olesvr.spec.glue.s
-rasapi16.spec.c
-rasapi16.spec.glue.s
-shell.spec.c
-shell.spec.glue.s
-sound.spec.c
-sound.spec.glue.s
 storage.spec.c
 storage.spec.glue.s
-stress.spec.c
-stress.spec.glue.s
 system.spec.c
 system.spec.glue.s
 thunk.glue.s
@@ -65,16 +51,8 @@ typelib.spec.c
 typelib.spec.glue.s
 user.spec.c
 user.spec.glue.s
-w32sys.spec.c
-w32sys.spec.glue.s
-win32s16.spec.c
-win32s16.spec.glue.s
-windebug.spec.c
-windebug.spec.glue.s
 wineps.spec.c
 wineps.spec.glue.s
-wing.spec.c
-wing.spec.glue.s
 winsock.spec.c
 winsock.spec.glue.s
 wprocs.spec.c
diff --git a/if1632/Makefile.in b/if1632/Makefile.in
index 3623a6ad24cb56f06c7d6a69889c72cef48aeae6..9bfc08fb4463bee10148aa37706b8183d78f83ec 100644
--- a/if1632/Makefile.in
+++ b/if1632/Makefile.in
@@ -6,7 +6,6 @@ VPATH     = @srcdir@
 MODULE    = if1632
 
 SPEC_SRCS = \
-	avifile.spec \
 	comm.spec \
 	compobj.spec \
 	ddeml.spec \
@@ -15,10 +14,8 @@ SPEC_SRCS = \
 	gdi.spec \
 	kernel.spec \
 	keyboard.spec \
-	lzexpand.spec \
 	mmsystem.spec \
 	mouse.spec \
-	msvideo.spec \
 	ole2.spec \
 	ole2conv.spec \
 	ole2disp.spec \
@@ -27,20 +24,12 @@ SPEC_SRCS = \
 	ole2thk.spec \
 	olecli.spec \
 	olesvr.spec \
-	rasapi16.spec \
-	shell.spec \
-	sound.spec \
 	storage.spec \
-	stress.spec \
 	system.spec \
 	toolhelp.spec \
 	typelib.spec \
 	user.spec \
-	w32sys.spec \
-	win32s16.spec \
-	windebug.spec \
 	wineps.spec \
-	wing.spec \
 	winsock.spec \
 	wprocs.spec
 
diff --git a/misc/Makefile.in b/misc/Makefile.in
index 517ed081a401ac8c66dfbb3a2cfc69458d58a1f1..7200d08340ec7dc8ad095d029b5f1e99c4247e20 100644
--- a/misc/Makefile.in
+++ b/misc/Makefile.in
@@ -9,32 +9,22 @@ MODULE    = misc
 C_SRCS = \
 	cdrom.c \
 	comm.c \
-	crtdll.c \
 	cpu.c \
 	ddeml.c \
 	debugstr.c \
 	error.c \
-	imm.c \
 	lstr.c \
-	lzexpand.c \
 	main.c \
 	network.c \
 	port.c \
 	printdrv.c \
 	registry.c \
-	shell.c \
-	sound.c \
 	spy.c \
-	stress.c \
 	system.c \
 	toolhelp.c \
 	tweak.c \
 	version.c \
 	w32scomb.c \
-	w32skrnl.c \
-	w32sys.c \
-	win32s16.c \
-	windebug.c \
 	winsock.c \
 	winsock_async.c \
 	wsprintf.c \
diff --git a/multimedia/Makefile.in b/multimedia/Makefile.in
index 2162c91908bee563458d46d12cf9b35f80497b11..b0511e194bc05d8653c596f350578740b329c56e 100644
--- a/multimedia/Makefile.in
+++ b/multimedia/Makefile.in
@@ -23,7 +23,6 @@ C_SRCS = \
 	mmaux.c \
 	mmio.c \
 	mmsystem.c \
-	msvideo.c \
 	time.c
 
 RC_SRCS= \
diff --git a/relay32/.cvsignore b/relay32/.cvsignore
index 39b9228aa18d886cb2d7aecfd54c6bd8e7c29554..7964d05a72b9437a6650bc12a44ef5a0d55ffef2 100644
--- a/relay32/.cvsignore
+++ b/relay32/.cvsignore
@@ -1,31 +1,24 @@
 Makefile
 call32.s
-crtdll.spec.c
-dciman32.spec.c
 ddraw.spec.c
 dinput.spec.c
 dplay.spec.c
 dplayx.spec.c
 dsound.spec.c
 gdi32.spec.c
-imm32.spec.c
 kernel32.spec.c
-lz32.spec.c
 mcianim.spec.c
 mciavi.spec.c
 mcicda.spec.c
 mciseq.spec.c
 mciwave.spec.c
 mpr.spec.c
-msnet32.spec.c
-msvfw32.spec.c
 ole32.spec.c
 oleaut32.spec.c
 olecli32.spec.c
 oledlg.spec.c
 olesvr32.spec.c
 user32.spec.c
-w32skrnl.spec.c
 winmm.spec.c
 wow32.spec.c
 wsock32.spec.c
diff --git a/relay32/Makefile.in b/relay32/Makefile.in
index fc3125b20ac55f0a461f782bf346b065a1643b77..cf9df589e3c1c228de68e3dcc1beacab10d0d62a 100644
--- a/relay32/Makefile.in
+++ b/relay32/Makefile.in
@@ -6,32 +6,25 @@ VPATH     = @srcdir@
 MODULE    = relay32
 
 SPEC_SRCS = \
-	crtdll.spec \
-	dciman32.spec \
 	ddraw.spec \
 	dinput.spec \
 	dplay.spec \
 	dplayx.spec \
 	dsound.spec \
 	gdi32.spec \
-	imm32.spec \
 	kernel32.spec \
-	lz32.spec \
 	mpr.spec \
 	mcianim.spec \
 	mciavi.spec \
 	mcicda.spec \
 	mciseq.spec \
 	mciwave.spec \
-	msnet32.spec \
-	msvfw32.spec \
 	ole32.spec \
 	oleaut32.spec \
 	olecli32.spec \
 	oledlg.spec \
 	olesvr32.spec \
 	user32.spec \
-	w32skrnl.spec \
 	winmm.spec \
 	wow32.spec \
 	wsock32.spec