Build most dlls as separate shared libraries.
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index a0a9cdb..2b9a8a1 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -1,62 +1,258 @@
-SUBDIRS = \
- advapi32 \
- avifil32 \
- comctl32 \
- commdlg \
- crtdll \
- dciman32 \
- display \
- dplayx \
- dsound \
- icmp \
- imagehlp \
- imm32 \
- lzexpand \
- mouse \
- mpr \
- msacm \
- msacm32 \
- msnet32 \
- msvideo \
- ntdll \
- odbc32 \
- ole32 \
- oleaut32 \
- olecli \
- oledlg \
- olesvr \
- psapi \
- setupx \
- shell32 \
- sound \
- stress \
- tapi32 \
- version \
- win32s \
- win87em \
- winaspi \
- windebug \
- wing \
- winmm \
- winsock \
- winspool \
- wnaspi32
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ..
+SRCDIR = @srcdir@
+VPATH = @srcdir@
-all: $(SUBDIRS)
+DLLFILES = \
+ avifil32/libavifil32.@LIBEXT@ \
+ comctl32/libcomctl32.@LIBEXT@ \
+ commdlg/libcomdlg32.@LIBEXT@ \
+ dciman32/libdciman32.@LIBEXT@ \
+ dplayx/libdplayx.@LIBEXT@ \
+ dsound/libdsound.@LIBEXT@ \
+ icmp/libicmp.@LIBEXT@ \
+ imagehlp/libimagehlp.@LIBEXT@ \
+ imm32/libimm32.@LIBEXT@ \
+ lzexpand/liblz32.@LIBEXT@ \
+ msacm/libmsacm.@LIBEXT@ \
+ msacm32/libmsacm32.@LIBEXT@ \
+ msnet32/libmsnet32.@LIBEXT@ \
+ msvideo/libmsvfw32.@LIBEXT@ \
+ odbc32/libodbc32.@LIBEXT@ \
+ ole32/libole32.@LIBEXT@ \
+ oleaut32/liboleaut32.@LIBEXT@ \
+ olecli/libolecli32.@LIBEXT@ \
+ oledlg/liboledlg.@LIBEXT@ \
+ olesvr/libolesvr32.@LIBEXT@ \
+ psapi/libpsapi.@LIBEXT@ \
+ rasapi32/librasapi32.@LIBEXT@ \
+ setupx/libsetupx.@LIBEXT@ \
+ shell32/libshell32.@LIBEXT@ \
+ sound/libsound.@LIBEXT@ \
+ stress/libstress.@LIBEXT@ \
+ tapi32/libtapi32.@LIBEXT@ \
+ version/libversion.@LIBEXT@ \
+ win32s/libwin32s.@LIBEXT@ \
+ win87em/libwin87em.@LIBEXT@ \
+ windebug/libwindebug.@LIBEXT@ \
+ wing/libwing.@LIBEXT@ \
+ winmm/mcianim/libmcianim.drv.@LIBEXT@ \
+ winmm/mciavi/libmciavi.drv.@LIBEXT@ \
+ winmm/mcicda/libmcicda.drv.@LIBEXT@ \
+ winmm/mciseq/libmciseq.drv.@LIBEXT@ \
+ winmm/mciwave/libmciwave.drv.@LIBEXT@ \
+ winmm/midimap/libmidimap.drv.@LIBEXT@ \
+ winmm/wavemap/libmsacm.drv.@LIBEXT@ \
+ winmm/wineoss/libwineoss.drv.@LIBEXT@ \
+ winsock/libwsock32.@LIBEXT@ \
+ winspool/libwinspool.@LIBEXT@ \
+ wnaspi32/libwnaspi32.@LIBEXT@
-$(SUBDIRS): dummy
- @cd $@; $(MAKE)
+all: dlls
-depend:
- for i in $(SUBDIRS); do (cd $$i && $(MAKE) depend) || exit 1; done
+@MAKE_RULES@
-install:
- for i in $(SUBDIRS); do (cd $$i && $(MAKE) install) || exit 1; done
+dlls: $(DLLS:%=lib%.@LIBEXT@)
-uninstall:
- for i in $(SUBDIRS); do (cd $$i && $(MAKE) uninstall) || exit 1; done
+# Map library name to directory
-clean:
- for i in $(SUBDIRS); do (cd $$i && $(MAKE) clean) || exit 1; done
+libavifil32.@LIBEXT@: avifil32/libavifil32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) avifil32/libavifil32.@LIBEXT@ $@
-dummy:
+libcomctl32.@LIBEXT@: comctl32/libcomctl32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) comctl32/libcomctl32.@LIBEXT@ $@
+
+libcomdlg32.@LIBEXT@: commdlg/libcomdlg32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) commdlg/libcomdlg32.@LIBEXT@ $@
+
+libdciman32.@LIBEXT@: dciman32/libdciman32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) dciman32/libdciman32.@LIBEXT@ $@
+
+libdplayx.@LIBEXT@: dplayx/libdplayx.@LIBEXT@
+ $(RM) $@
+ $(LN_S) dplayx/libdplayx.@LIBEXT@ $@
+
+libdsound.@LIBEXT@: dsound/libdsound.@LIBEXT@
+ $(RM) $@
+ $(LN_S) dsound/libdsound.@LIBEXT@ $@
+
+libicmp.@LIBEXT@: icmp/libicmp.@LIBEXT@
+ $(RM) $@
+ $(LN_S) icmp/libicmp.@LIBEXT@ $@
+
+libimagehlp.@LIBEXT@: imagehlp/libimagehlp.@LIBEXT@
+ $(RM) $@
+ $(LN_S) imagehlp/libimagehlp.@LIBEXT@ $@
+
+libimm32.@LIBEXT@: imm32/libimm32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) imm32/libimm32.@LIBEXT@ $@
+
+liblz32.@LIBEXT@: lzexpand/liblz32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) lzexpand/liblz32.@LIBEXT@ $@
+
+libmcianim.drv.@LIBEXT@: winmm/mcianim/libmcianim.drv.@LIBEXT@
+ $(RM) $@
+ $(LN_S) winmm/mcianim/libmcianim.drv.@LIBEXT@ $@
+
+libmciavi.drv.@LIBEXT@: winmm/mciavi/libmciavi.drv.@LIBEXT@
+ $(RM) $@
+ $(LN_S) winmm/mciavi/libmciavi.drv.@LIBEXT@ $@
+
+libmcicda.drv.@LIBEXT@: winmm/mcicda/libmcicda.drv.@LIBEXT@
+ $(RM) $@
+ $(LN_S) winmm/mcicda/libmcicda.drv.@LIBEXT@ $@
+
+libmciseq.drv.@LIBEXT@: winmm/mciseq/libmciseq.drv.@LIBEXT@
+ $(RM) $@
+ $(LN_S) winmm/mciseq/libmciseq.drv.@LIBEXT@ $@
+
+libmciwave.drv.@LIBEXT@: winmm/mciwave/libmciwave.drv.@LIBEXT@
+ $(RM) $@
+ $(LN_S) winmm/mciwave/libmciwave.drv.@LIBEXT@ $@
+
+libmidimap.drv.@LIBEXT@: winmm/midimap/libmidimap.drv.@LIBEXT@
+ $(RM) $@
+ $(LN_S) winmm/midimap/libmidimap.drv.@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@ $@
+
+libmsnet32.@LIBEXT@: msnet32/libmsnet32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) msnet32/libmsnet32.@LIBEXT@ $@
+
+libmsvfw32.@LIBEXT@: msvideo/libmsvfw32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) msvideo/libmsvfw32.@LIBEXT@ $@
+
+libodbc32.@LIBEXT@: odbc32/libodbc32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) odbc32/libodbc32.@LIBEXT@ $@
+
+libole32.@LIBEXT@: ole32/libole32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) ole32/libole32.@LIBEXT@ $@
+
+liboleaut32.@LIBEXT@: oleaut32/liboleaut32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) oleaut32/liboleaut32.@LIBEXT@ $@
+
+libolecli32.@LIBEXT@: olecli/libolecli32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) olecli/libolecli32.@LIBEXT@ $@
+
+liboledlg.@LIBEXT@: oledlg/liboledlg.@LIBEXT@
+ $(RM) $@
+ $(LN_S) oledlg/liboledlg.@LIBEXT@ $@
+
+libolesvr32.@LIBEXT@: olesvr/libolesvr32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) olesvr/libolesvr32.@LIBEXT@ $@
+
+libpsapi.@LIBEXT@: psapi/libpsapi.@LIBEXT@
+ $(RM) $@
+ $(LN_S) psapi/libpsapi.@LIBEXT@ $@
+
+librasapi32.@LIBEXT@: rasapi32/librasapi32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) rasapi32/librasapi32.@LIBEXT@ $@
+
+libsetupx.@LIBEXT@: setupx/libsetupx.@LIBEXT@
+ $(RM) $@
+ $(LN_S) setupx/libsetupx.@LIBEXT@ $@
+
+libshell32.@LIBEXT@: shell32/libshell32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) shell32/libshell32.@LIBEXT@ $@
+
+libsound.@LIBEXT@: sound/libsound.@LIBEXT@
+ $(RM) $@
+ $(LN_S) sound/libsound.@LIBEXT@ $@
+
+libstress.@LIBEXT@: stress/libstress.@LIBEXT@
+ $(RM) $@
+ $(LN_S) stress/libstress.@LIBEXT@ $@
+
+libtapi32.@LIBEXT@: tapi32/libtapi32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) tapi32/libtapi32.@LIBEXT@ $@
+
+libversion.@LIBEXT@: version/libversion.@LIBEXT@
+ $(RM) $@
+ $(LN_S) version/libversion.@LIBEXT@ $@
+
+libwin32s.@LIBEXT@: win32s/libwin32s.@LIBEXT@
+ $(RM) $@
+ $(LN_S) win32s/libwin32s.@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@ $@
+
+libwing.@LIBEXT@: wing/libwing.@LIBEXT@
+ $(RM) $@
+ $(LN_S) wing/libwing.@LIBEXT@ $@
+
+libwinspool.@LIBEXT@: winspool/libwinspool.@LIBEXT@
+ $(RM) $@
+ $(LN_S) winspool/libwinspool.@LIBEXT@ $@
+
+libwnaspi32.@LIBEXT@: wnaspi32/libwnaspi32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) wnaspi32/libwnaspi32.@LIBEXT@ $@
+
+libwsock32.@LIBEXT@: winsock/libwsock32.@LIBEXT@
+ $(RM) $@
+ $(LN_S) winsock/libwsock32.@LIBEXT@ $@
+
+$(DLLFILES): dummy
+ @cd `dirname $@` && $(MAKE)
+
+$(DLLFILES:%=%_depend_): dummy
+ @cd `dirname $@` && $(MAKE) depend
+
+$(DLLFILES:%=%_install_): dummy
+ @cd `dirname $@` && $(MAKE) install
+
+$(DLLFILES:%=%_uninstall_): dummy
+ @cd `dirname $@` && $(MAKE) uninstall
+
+$(DLLFILES:%=%_checklink_): dummy
+ @cd `dirname $@` && $(MAKE) checklink
+
+$(DLLFILES:%=%_clean_): dummy
+ @cd `dirname $@` && $(MAKE) clean
+
+depend:: $(DLLFILES:%=%_depend_)
+
+install:: $(DLLFILES:%=%_install_)
+
+uninstall:: $(DLLFILES:%=%_uninstall_)
+
+checklink:: $(DLLFILES:%=%_checklink_)
+
+clean:: $(DLLFILES:%=%_clean_)
+ $(RM) $(DLLLIBS)