diff --git a/Make.rules.in b/Make.rules.in
index 09681b526b2891d70f3c072355fa49fe0f25a9b2..14366c693c794ad0ab4dc81f41bb964c6664b2dc 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -116,7 +116,6 @@ DLLS = \
 	mciwave.drv \
 	midimap.drv \
 	mpr \
-	msacm \
 	msacm.drv \
 	msacm32 \
 	msnet32 \
@@ -146,8 +145,6 @@ DLLS = \
 	user32 \
 	version \
 	w32skrnl \
-	win87em \
-	windebug \
 	wineoss.drv \
 	wineps \
 	wing \
diff --git a/configure b/configure
index 5e3dc3f6a4c8e6412c6cbdb4f5be7470a5f595ab..b4dfd86a89d889c03f946acee9a9b28b3dde9c87 100755
--- a/configure
+++ b/configure
@@ -6260,7 +6260,6 @@ dlls/kernel/Makefile
 dlls/lzexpand/Makefile
 dlls/mpr/Makefile
 dlls/msacm/Makefile
-dlls/msacm32/Makefile
 dlls/msnet32/Makefile
 dlls/msvideo/Makefile
 dlls/ntdll/Makefile
@@ -6291,9 +6290,7 @@ dlls/urlmon/Makefile
 dlls/user/Makefile
 dlls/version/Makefile
 dlls/win32s/Makefile
-dlls/win87em/Makefile
 dlls/winaspi/Makefile
-dlls/windebug/Makefile
 dlls/wineps/Makefile
 dlls/wing/Makefile
 dlls/wininet/Makefile
@@ -6503,7 +6500,6 @@ dlls/kernel/Makefile
 dlls/lzexpand/Makefile
 dlls/mpr/Makefile
 dlls/msacm/Makefile
-dlls/msacm32/Makefile
 dlls/msnet32/Makefile
 dlls/msvideo/Makefile
 dlls/ntdll/Makefile
@@ -6534,9 +6530,7 @@ dlls/urlmon/Makefile
 dlls/user/Makefile
 dlls/version/Makefile
 dlls/win32s/Makefile
-dlls/win87em/Makefile
 dlls/winaspi/Makefile
-dlls/windebug/Makefile
 dlls/wineps/Makefile
 dlls/wing/Makefile
 dlls/wininet/Makefile
diff --git a/configure.in b/configure.in
index 909d15a04cb729df906cdbd3049a2cae723a148a..547a40795b6f7c8e42bbdd22651907e0bdbe292e 100644
--- a/configure.in
+++ b/configure.in
@@ -1004,7 +1004,6 @@ dlls/kernel/Makefile
 dlls/lzexpand/Makefile
 dlls/mpr/Makefile
 dlls/msacm/Makefile
-dlls/msacm32/Makefile
 dlls/msnet32/Makefile
 dlls/msvideo/Makefile
 dlls/ntdll/Makefile
@@ -1035,9 +1034,7 @@ dlls/urlmon/Makefile
 dlls/user/Makefile
 dlls/version/Makefile
 dlls/win32s/Makefile
-dlls/win87em/Makefile
 dlls/winaspi/Makefile
-dlls/windebug/Makefile
 dlls/wineps/Makefile
 dlls/wing/Makefile
 dlls/wininet/Makefile
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index f554ef25cdca63d8d996a5bb4780c1bb1e217efc..b6e43eeb991d6ede0b837cbad76c70ce619e25b1 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -29,8 +29,7 @@ DLLFILES = \
 	kernel/libkernel32.@LIBEXT@ \
 	lzexpand/liblz32.@LIBEXT@ \
 	mpr/libmpr.@LIBEXT@ \
-	msacm/libmsacm.@LIBEXT@ \
-	msacm32/libmsacm32.@LIBEXT@ \
+	msacm/libmsacm32.@LIBEXT@ \
 	msnet32/libmsnet32.@LIBEXT@ \
 	msvideo/libmsvfw32.@LIBEXT@ \
 	odbc32/libodbc32.@LIBEXT@ \
@@ -58,9 +57,7 @@ DLLFILES = \
 	user/libuser32.@LIBEXT@ \
 	version/libversion.@LIBEXT@ \
 	win32s/libw32skrnl.@LIBEXT@ \
-	win87em/libwin87em.@LIBEXT@ \
 	winaspi/libwnaspi32.@LIBEXT@ \
-	windebug/libwindebug.@LIBEXT@ \
 	wineps/libwineps.@LIBEXT@ \
 	wing/libwing.@LIBEXT@ \
 	wininet/libwininet.@LIBEXT@ \
@@ -94,6 +91,7 @@ EXTRADLLNAMES = \
 	lzexpand \
 	mmsystem \
 	mouse \
+	msacm \
 	msvideo \
 	ole2 \
 	ole2conv \
@@ -113,7 +111,9 @@ EXTRADLLNAMES = \
 	ver \
 	w32sys \
 	win32s16 \
+	win87em \
 	winaspi \
+	windebug \
 	winsock \
 	wprocs
 
@@ -136,7 +136,6 @@ SUBDIRS = \
 	lzexpand \
 	mpr \
 	msacm \
-	msacm32 \
 	msnet32 \
 	msvideo \
 	odbc32 \
@@ -152,6 +151,7 @@ SUBDIRS = \
 	richedit \
 	rpcrt4 \
 	serialui \
+	setupapi \
 	setupx \
 	shell32 \
 	shfolder \
@@ -164,9 +164,7 @@ SUBDIRS = \
 	user \
 	version \
 	win32s \
-	win87em \
 	winaspi \
-	windebug \
 	wineps \
 	wing \
 	wininet \
@@ -225,7 +223,9 @@ libimagehlp.@LIBEXT@: imagehlp/libimagehlp.@LIBEXT@
 libimm32.@LIBEXT@: imm32/libimm32.@LIBEXT@
 	$(RM) $@ && $(LN_S) imm32/libimm32.@LIBEXT@ $@
 
-libkernel32.@LIBEXT@ libcomm.@LIBEXT@ libkernel.@LIBEXT@ libsystem.@LIBEXT@ libtoolhelp.@LIBEXT@ libwprocs.@LIBEXT@: kernel/libkernel32.@LIBEXT@
+libkernel32.@LIBEXT@ libcomm.@LIBEXT@ libkernel.@LIBEXT@ libsystem.@LIBEXT@ \
+  libtoolhelp.@LIBEXT@ libwin87em.@LIBEXT@ libwindebug.@LIBEXT@ \
+  libwprocs.@LIBEXT@: kernel/libkernel32.@LIBEXT@
 	$(RM) $@ && $(LN_S) kernel/libkernel32.@LIBEXT@ $@
 
 libjoystick.drv.@LIBEXT@: winmm/joystick/libjoystick.drv.@LIBEXT@
@@ -255,14 +255,11 @@ libmidimap.drv.@LIBEXT@: winmm/midimap/libmidimap.drv.@LIBEXT@
 libmpr.@LIBEXT@: mpr/libmpr.@LIBEXT@
 	$(RM) $@ && $(LN_S) mpr/libmpr.@LIBEXT@ $@
 
-libmsacm.@LIBEXT@: msacm/libmsacm.@LIBEXT@
-	$(RM) $@ && $(LN_S) msacm/libmsacm.@LIBEXT@ $@
-
 libmsacm.drv.@LIBEXT@: winmm/wavemap/libmsacm.drv.@LIBEXT@
 	$(RM) $@ && $(LN_S) winmm/wavemap/libmsacm.drv.@LIBEXT@ $@
 
-libmsacm32.@LIBEXT@: msacm32/libmsacm32.@LIBEXT@
-	$(RM) $@ && $(LN_S) msacm32/libmsacm32.@LIBEXT@ $@
+libmsacm32.@LIBEXT@ libmsacm.@LIBEXT@: msacm/libmsacm32.@LIBEXT@
+	$(RM) $@ && $(LN_S) msacm/libmsacm32.@LIBEXT@ $@
 
 libmsnet32.@LIBEXT@: msnet32/libmsnet32.@LIBEXT@
 	$(RM) $@ && $(LN_S) msnet32/libmsnet32.@LIBEXT@ $@
@@ -348,12 +345,6 @@ libversion.@LIBEXT@ libver.@LIBEXT@: version/libversion.@LIBEXT@
 libw32skrnl.@LIBEXT@ libw32sys.@LIBEXT@ libwin32s16.@LIBEXT@: win32s/libw32skrnl.@LIBEXT@
 	$(RM) $@ && $(LN_S) win32s/libw32skrnl.@LIBEXT@ $@
 
-libwin87em.@LIBEXT@: win87em/libwin87em.@LIBEXT@
-	$(RM) $@ && $(LN_S) win87em/libwin87em.@LIBEXT@ $@
-
-libwindebug.@LIBEXT@: windebug/libwindebug.@LIBEXT@
-	$(RM) $@ && $(LN_S) windebug/libwindebug.@LIBEXT@ $@
-
 libwineoss.drv.@LIBEXT@: winmm/wineoss/libwineoss.drv.@LIBEXT@
 	$(RM) $@ && $(LN_S) winmm/wineoss/libwineoss.drv.@LIBEXT@ $@
 
diff --git a/dlls/kernel/.cvsignore b/dlls/kernel/.cvsignore
index 7d98a470cdba035979b35e2b789270b2d909222d..0f4423b252a328e5cd6f02c26102583b6c0d7a4b 100644
--- a/dlls/kernel/.cvsignore
+++ b/dlls/kernel/.cvsignore
@@ -1,9 +1,4 @@
+*.spec.c
 Makefile
-comm.spec.c
-kernel.spec.c
-kernel32.spec.c
 libkernel32.so.1.0
 locale_rc.s
-system.spec.c
-toolhelp.spec.c
-wprocs.spec.c
diff --git a/dlls/kernel/Makefile.in b/dlls/kernel/Makefile.in
index b1cd8471a4681af3a4922e428c293a32eddc89c0..9b93dc07c312d8a30674a08f1c4c0105cfc0cdf3 100644
--- a/dlls/kernel/Makefile.in
+++ b/dlls/kernel/Makefile.in
@@ -4,10 +4,12 @@ SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = kernel32
 SOVERSION = 1.0
-ALTNAMES  = comm kernel system toolhelp wprocs
+ALTNAMES  = comm kernel system toolhelp windebug win87em wprocs
 
 C_SRCS = \
-	kernel_main.c
+	kernel_main.c \
+	win87em.c \
+	windebug.c
 
 RC_SRCS = \
 	locale_rc.rc
diff --git a/dlls/win87em/emulate.c b/dlls/kernel/win87em.c
similarity index 100%
rename from dlls/win87em/emulate.c
rename to dlls/kernel/win87em.c
diff --git a/dlls/win87em/win87em.spec b/dlls/kernel/win87em.spec
similarity index 100%
rename from dlls/win87em/win87em.spec
rename to dlls/kernel/win87em.spec
diff --git a/dlls/windebug/windebug_main.c b/dlls/kernel/windebug.c
similarity index 100%
rename from dlls/windebug/windebug_main.c
rename to dlls/kernel/windebug.c
diff --git a/dlls/windebug/windebug.spec b/dlls/kernel/windebug.spec
similarity index 100%
rename from dlls/windebug/windebug.spec
rename to dlls/kernel/windebug.spec
diff --git a/dlls/msacm/.cvsignore b/dlls/msacm/.cvsignore
index a8430f9a46e973ef295fb90609ea087bdce56838..52d50c06c10fbebed33e77db65e32e6bdaade562 100644
--- a/dlls/msacm/.cvsignore
+++ b/dlls/msacm/.cvsignore
@@ -2,3 +2,4 @@
 *.spec.glue.s
 Makefile
 libmsacm.so.1.0
+libmsacm32.so.1.0
diff --git a/dlls/msacm/Makefile.in b/dlls/msacm/Makefile.in
index f64b227260b3bcdf3f95aac7bab7cad2b46f1196..bc657065647ec3656bbffca4bb814d7e63aa4642 100644
--- a/dlls/msacm/Makefile.in
+++ b/dlls/msacm/Makefile.in
@@ -2,11 +2,18 @@ TOPSRCDIR = @top_srcdir@
 TOPOBJDIR = ../..
 SRCDIR    = @srcdir@
 VPATH     = @srcdir@
-MODULE    = msacm
+MODULE    = msacm32
 SOVERSION = 1.0
+ALTNAMES  = msacm
 
 C_SRCS = \
-	msacm_main.c
+	driver.c \
+	filter.c \
+	format.c \
+	internal.c \
+	msacm32_main.c \
+	msacm_main.c \
+	stream.c
 
 @MAKE_DLL_RULES@
 
diff --git a/dlls/msacm32/driver.c b/dlls/msacm/driver.c
similarity index 100%
rename from dlls/msacm32/driver.c
rename to dlls/msacm/driver.c
diff --git a/dlls/msacm32/filter.c b/dlls/msacm/filter.c
similarity index 100%
rename from dlls/msacm32/filter.c
rename to dlls/msacm/filter.c
diff --git a/dlls/msacm32/format.c b/dlls/msacm/format.c
similarity index 100%
rename from dlls/msacm32/format.c
rename to dlls/msacm/format.c
diff --git a/dlls/msacm32/internal.c b/dlls/msacm/internal.c
similarity index 100%
rename from dlls/msacm32/internal.c
rename to dlls/msacm/internal.c
diff --git a/dlls/msacm32/msacm32.spec b/dlls/msacm/msacm32.spec
similarity index 100%
rename from dlls/msacm32/msacm32.spec
rename to dlls/msacm/msacm32.spec
diff --git a/dlls/msacm32/msacm32_main.c b/dlls/msacm/msacm32_main.c
similarity index 100%
rename from dlls/msacm32/msacm32_main.c
rename to dlls/msacm/msacm32_main.c
diff --git a/dlls/msacm32/stream.c b/dlls/msacm/stream.c
similarity index 100%
rename from dlls/msacm32/stream.c
rename to dlls/msacm/stream.c
diff --git a/dlls/msacm32/wineacm.h b/dlls/msacm/wineacm.h
similarity index 100%
rename from dlls/msacm32/wineacm.h
rename to dlls/msacm/wineacm.h
diff --git a/dlls/msacm32/.cvsignore b/dlls/msacm32/.cvsignore
deleted file mode 100644
index ef6732fd36596ba4727faabedccaf77840e03672..0000000000000000000000000000000000000000
--- a/dlls/msacm32/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.spec.c
-Makefile
-libmsacm32.so.1.0
diff --git a/dlls/msacm32/Makefile.in b/dlls/msacm32/Makefile.in
deleted file mode 100644
index 23f78610682f522107b7b3938dfec34c084a8d5f..0000000000000000000000000000000000000000
--- a/dlls/msacm32/Makefile.in
+++ /dev/null
@@ -1,19 +0,0 @@
-TOPSRCDIR = @top_srcdir@
-TOPOBJDIR = ../..
-SRCDIR    = @srcdir@
-VPATH     = @srcdir@
-MODULE    = msacm32
-SOVERSION = 1.0
-
-C_SRCS = \
-	driver.c \
-	filter.c \
-	format.c \
-	internal.c \
-	msacm32_main.c \
-	stream.c
-
-@MAKE_DLL_RULES@
-
-### Dependencies:
-
diff --git a/dlls/win87em/.cvsignore b/dlls/win87em/.cvsignore
deleted file mode 100644
index 16f2c0f34460c9302ce94235354896d61cb23b37..0000000000000000000000000000000000000000
--- a/dlls/win87em/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*.spec.c
-*.spec.glue.s
-Makefile
-libwin87em.so.1.0
diff --git a/dlls/win87em/Makefile.in b/dlls/win87em/Makefile.in
deleted file mode 100644
index 13c8c8cba312058993303f91675997018205ed24..0000000000000000000000000000000000000000
--- a/dlls/win87em/Makefile.in
+++ /dev/null
@@ -1,13 +0,0 @@
-TOPSRCDIR = @top_srcdir@
-TOPOBJDIR = ../..
-SRCDIR    = @srcdir@
-VPATH     = @srcdir@
-MODULE    = win87em
-SOVERSION = 1.0
-
-C_SRCS = \
-	emulate.c
-
-@MAKE_DLL_RULES@
-
-### Dependencies:
diff --git a/dlls/windebug/.cvsignore b/dlls/windebug/.cvsignore
deleted file mode 100644
index d17a6bf1b190ee0789f354a1aca8cddc9534ac22..0000000000000000000000000000000000000000
--- a/dlls/windebug/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-*.spec.c
-*.spec.glue.s
-Makefile
-libwindebug.so.1.0
diff --git a/dlls/windebug/Makefile.in b/dlls/windebug/Makefile.in
deleted file mode 100644
index 7edf59bd1f9e7fb996d65c433c06d74ebea1085f..0000000000000000000000000000000000000000
--- a/dlls/windebug/Makefile.in
+++ /dev/null
@@ -1,14 +0,0 @@
-TOPSRCDIR = @top_srcdir@
-TOPOBJDIR = ../..
-SRCDIR    = @srcdir@
-VPATH     = @srcdir@
-MODULE    = windebug
-SOVERSION = 1.0
-
-C_SRCS = \
-	windebug_main.c
-
-@MAKE_DLL_RULES@
-
-### Dependencies:
-