# Automatically generated by make_dlls; DO NOT EDIT!!

TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ..
SRCDIR    = @srcdir@
VPATH     = @srcdir@
LIBEXT    = @LIBEXT@

# special configure-dependent targets

GLU32FILES = glu32
OPENGLFILES = opengl32
XFILES = ddraw x11drv
EXTRADIRS = @GLU32FILES@ @OPENGLFILES@ @XFILES@

# Subdir list

SUBDIRS = \
	$(EXTRADIRS) \
	advapi32 \
	avicap32 \
	avifil32 \
	comctl32 \
	commdlg \
	crtdll \
	crypt32 \
	dciman32 \
	devenum \
	dinput \
	dplay \
	dplayx \
	dsound \
	gdi \
	icmp \
	imagehlp \
	imm32 \
	kernel \
	lzexpand \
	mapi32 \
	mpr \
	msacm \
	msdmo \
	msimg32 \
	msnet32 \
	msrle32 \
	msvcrt \
	msvcrt20 \
	msvideo \
	netapi32 \
	ntdll \
	odbc32 \
	ole32 \
	oleaut32 \
	olecli \
	oledlg \
	olepro32 \
	olesvr \
	psapi \
	qcap \
	quartz \
	rasapi32 \
	richedit \
	rpcrt4 \
	serialui \
	setupapi \
	shdocvw \
	shell32 \
	shfolder \
	shlwapi \
	sti \
	tapi32 \
	ttydrv \
	url \
	urlmon \
	user \
	version \
	win32s \
	winaspi \
	winedos \
	wineps \
	wininet \
	winmm \
	winmm/joystick \
	winmm/mcianim \
	winmm/mciavi \
	winmm/mcicda \
	winmm/mciseq \
	winmm/mciwave \
	winmm/midimap \
	winmm/wavemap \
	winmm/wineoss \
	winnls \
	winsock \
	winspool \
	wintrust \
	wow32 \
	wsock32

# Main target

all: \
	$(EXTRADIRS:%=lib%.$(LIBEXT)) \
	libadvapi32.$(LIBEXT) \
	libavicap32.$(LIBEXT) \
	libavifil32.$(LIBEXT) \
	libavifile.$(LIBEXT) \
	libcomctl32.$(LIBEXT) \
	libcomdlg32.$(LIBEXT) \
	libcomm.$(LIBEXT) \
	libcommdlg.$(LIBEXT) \
	libcompobj.$(LIBEXT) \
	libcrtdll.$(LIBEXT) \
	libcrypt32.$(LIBEXT) \
	libdciman32.$(LIBEXT) \
	libddeml.$(LIBEXT) \
	libdevenum.$(LIBEXT) \
	libdinput.$(LIBEXT) \
	libdispdib.$(LIBEXT) \
	libdisplay.$(LIBEXT) \
	libdplay.$(LIBEXT) \
	libdplayx.$(LIBEXT) \
	libdsound.$(LIBEXT) \
	libgdi.$(LIBEXT) \
	libgdi32.$(LIBEXT) \
	libicmp.$(LIBEXT) \
	libimagehlp.$(LIBEXT) \
	libimm.$(LIBEXT) \
	libimm32.$(LIBEXT) \
	libjoystick.drv.$(LIBEXT) \
	libkernel.$(LIBEXT) \
	libkernel32.$(LIBEXT) \
	libkeyboard.$(LIBEXT) \
	liblz32.$(LIBEXT) \
	liblzexpand.$(LIBEXT) \
	libmapi32.$(LIBEXT) \
	libmcianim.drv.$(LIBEXT) \
	libmciavi.drv.$(LIBEXT) \
	libmcicda.drv.$(LIBEXT) \
	libmciseq.drv.$(LIBEXT) \
	libmciwave.drv.$(LIBEXT) \
	libmidimap.drv.$(LIBEXT) \
	libmmsystem.$(LIBEXT) \
	libmouse.$(LIBEXT) \
	libmpr.$(LIBEXT) \
	libmsacm.$(LIBEXT) \
	libmsacm.drv.$(LIBEXT) \
	libmsacm32.$(LIBEXT) \
	libmsdmo.$(LIBEXT) \
	libmsimg32.$(LIBEXT) \
	libmsnet32.$(LIBEXT) \
	libmsrle32.$(LIBEXT) \
	libmsvcrt.$(LIBEXT) \
	libmsvcrt20.$(LIBEXT) \
	libmsvfw32.$(LIBEXT) \
	libmsvideo.$(LIBEXT) \
	libnetapi32.$(LIBEXT) \
	libntdll.$(LIBEXT) \
	libodbc32.$(LIBEXT) \
	libole2.$(LIBEXT) \
	libole2conv.$(LIBEXT) \
	libole2disp.$(LIBEXT) \
	libole2nls.$(LIBEXT) \
	libole2prox.$(LIBEXT) \
	libole2thk.$(LIBEXT) \
	libole32.$(LIBEXT) \
	liboleaut32.$(LIBEXT) \
	libolecli.$(LIBEXT) \
	libolecli32.$(LIBEXT) \
	liboledlg.$(LIBEXT) \
	libolepro32.$(LIBEXT) \
	libolesvr.$(LIBEXT) \
	libolesvr32.$(LIBEXT) \
	libpsapi.$(LIBEXT) \
	libqcap.$(LIBEXT) \
	libquartz.$(LIBEXT) \
	librasapi16.$(LIBEXT) \
	librasapi32.$(LIBEXT) \
	libriched32.$(LIBEXT) \
	librpcrt4.$(LIBEXT) \
	libserialui.$(LIBEXT) \
	libsetupapi.$(LIBEXT) \
	libsetupx.$(LIBEXT) \
	libshdocvw.$(LIBEXT) \
	libshell.$(LIBEXT) \
	libshell32.$(LIBEXT) \
	libshfolder.$(LIBEXT) \
	libshlwapi.$(LIBEXT) \
	libsound.$(LIBEXT) \
	libsti.$(LIBEXT) \
	libstorage.$(LIBEXT) \
	libstress.$(LIBEXT) \
	libsystem.$(LIBEXT) \
	libtapi32.$(LIBEXT) \
	libtoolhelp.$(LIBEXT) \
	libttydrv.$(LIBEXT) \
	libtypelib.$(LIBEXT) \
	liburl.$(LIBEXT) \
	liburlmon.$(LIBEXT) \
	libuser.$(LIBEXT) \
	libuser32.$(LIBEXT) \
	libver.$(LIBEXT) \
	libversion.$(LIBEXT) \
	libw32skrnl.$(LIBEXT) \
	libw32sys.$(LIBEXT) \
	libwin32s16.$(LIBEXT) \
	libwin87em.$(LIBEXT) \
	libwinaspi.$(LIBEXT) \
	libwindebug.$(LIBEXT) \
	libwinedos.$(LIBEXT) \
	libwineoss.drv.$(LIBEXT) \
	libwineps.$(LIBEXT) \
	libwineps16.$(LIBEXT) \
	libwing.$(LIBEXT) \
	libwininet.$(LIBEXT) \
	libwinmm.$(LIBEXT) \
	libwinnls.$(LIBEXT) \
	libwinnls32.$(LIBEXT) \
	libwinsock.$(LIBEXT) \
	libwinspool.drv.$(LIBEXT) \
	libwintrust.$(LIBEXT) \
	libwnaspi32.$(LIBEXT) \
	libwow32.$(LIBEXT) \
	libwprocs.$(LIBEXT) \
	libws2_32.$(LIBEXT) \
	libwsock32.$(LIBEXT)

@MAKE_RULES@

# Map library name to directory

libadvapi32.$(LIBEXT): advapi32/libadvapi32.$(LIBEXT)
	$(RM) $@ && $(LN_S) advapi32/libadvapi32.$(LIBEXT) $@

libavicap32.$(LIBEXT): avicap32/libavicap32.$(LIBEXT)
	$(RM) $@ && $(LN_S) avicap32/libavicap32.$(LIBEXT) $@

libavifil32.$(LIBEXT) libavifile.$(LIBEXT): avifil32/libavifil32.$(LIBEXT)
	$(RM) $@ && $(LN_S) avifil32/libavifil32.$(LIBEXT) $@

libcomctl32.$(LIBEXT): comctl32/libcomctl32.$(LIBEXT)
	$(RM) $@ && $(LN_S) comctl32/libcomctl32.$(LIBEXT) $@

libcomdlg32.$(LIBEXT) libcommdlg.$(LIBEXT): commdlg/libcomdlg32.$(LIBEXT)
	$(RM) $@ && $(LN_S) commdlg/libcomdlg32.$(LIBEXT) $@

libcrtdll.$(LIBEXT): crtdll/libcrtdll.$(LIBEXT)
	$(RM) $@ && $(LN_S) crtdll/libcrtdll.$(LIBEXT) $@

libcrypt32.$(LIBEXT): crypt32/libcrypt32.$(LIBEXT)
	$(RM) $@ && $(LN_S) crypt32/libcrypt32.$(LIBEXT) $@

libdciman32.$(LIBEXT): dciman32/libdciman32.$(LIBEXT)
	$(RM) $@ && $(LN_S) dciman32/libdciman32.$(LIBEXT) $@

libddraw.$(LIBEXT): ddraw/libddraw.$(LIBEXT)
	$(RM) $@ && $(LN_S) ddraw/libddraw.$(LIBEXT) $@

libdevenum.$(LIBEXT): devenum/libdevenum.$(LIBEXT)
	$(RM) $@ && $(LN_S) devenum/libdevenum.$(LIBEXT) $@

libdinput.$(LIBEXT): dinput/libdinput.$(LIBEXT)
	$(RM) $@ && $(LN_S) dinput/libdinput.$(LIBEXT) $@

libdplay.$(LIBEXT): dplay/libdplay.$(LIBEXT)
	$(RM) $@ && $(LN_S) dplay/libdplay.$(LIBEXT) $@

libdplayx.$(LIBEXT): dplayx/libdplayx.$(LIBEXT)
	$(RM) $@ && $(LN_S) dplayx/libdplayx.$(LIBEXT) $@

libdsound.$(LIBEXT): dsound/libdsound.$(LIBEXT)
	$(RM) $@ && $(LN_S) dsound/libdsound.$(LIBEXT) $@

libgdi32.$(LIBEXT) libdispdib.$(LIBEXT) libgdi.$(LIBEXT) \
  libwing.$(LIBEXT): gdi/libgdi32.$(LIBEXT)
	$(RM) $@ && $(LN_S) gdi/libgdi32.$(LIBEXT) $@

libglu32.$(LIBEXT): glu32/libglu32.$(LIBEXT)
	$(RM) $@ && $(LN_S) glu32/libglu32.$(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) libimm.$(LIBEXT): imm32/libimm32.$(LIBEXT)
	$(RM) $@ && $(LN_S) imm32/libimm32.$(LIBEXT) $@

libjoystick.drv.$(LIBEXT): winmm/joystick/libjoystick.drv.$(LIBEXT)
	$(RM) $@ && $(LN_S) winmm/joystick/libjoystick.drv.$(LIBEXT) $@

libkernel32.$(LIBEXT) libcomm.$(LIBEXT) libkernel.$(LIBEXT) \
  libstress.$(LIBEXT) libsystem.$(LIBEXT) libtoolhelp.$(LIBEXT) \
  libwin87em.$(LIBEXT) libwindebug.$(LIBEXT) libwprocs.$(LIBEXT): kernel/libkernel32.$(LIBEXT)
	$(RM) $@ && $(LN_S) kernel/libkernel32.$(LIBEXT) $@

liblz32.$(LIBEXT) liblzexpand.$(LIBEXT): lzexpand/liblz32.$(LIBEXT)
	$(RM) $@ && $(LN_S) lzexpand/liblz32.$(LIBEXT) $@

libmapi32.$(LIBEXT): mapi32/libmapi32.$(LIBEXT)
	$(RM) $@ && $(LN_S) mapi32/libmapi32.$(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) $@

libmpr.$(LIBEXT): mpr/libmpr.$(LIBEXT)
	$(RM) $@ && $(LN_S) mpr/libmpr.$(LIBEXT) $@

libmsacm.drv.$(LIBEXT): winmm/wavemap/libmsacm.drv.$(LIBEXT)
	$(RM) $@ && $(LN_S) winmm/wavemap/libmsacm.drv.$(LIBEXT) $@

libmsacm32.$(LIBEXT) libmsacm.$(LIBEXT): msacm/libmsacm32.$(LIBEXT)
	$(RM) $@ && $(LN_S) msacm/libmsacm32.$(LIBEXT) $@

libmsdmo.$(LIBEXT): msdmo/libmsdmo.$(LIBEXT)
	$(RM) $@ && $(LN_S) msdmo/libmsdmo.$(LIBEXT) $@

libmsimg32.$(LIBEXT): msimg32/libmsimg32.$(LIBEXT)
	$(RM) $@ && $(LN_S) msimg32/libmsimg32.$(LIBEXT) $@

libmsnet32.$(LIBEXT): msnet32/libmsnet32.$(LIBEXT)
	$(RM) $@ && $(LN_S) msnet32/libmsnet32.$(LIBEXT) $@

libmsrle32.$(LIBEXT): msrle32/libmsrle32.$(LIBEXT)
	$(RM) $@ && $(LN_S) msrle32/libmsrle32.$(LIBEXT) $@

libmsvcrt.$(LIBEXT): msvcrt/libmsvcrt.$(LIBEXT)
	$(RM) $@ && $(LN_S) msvcrt/libmsvcrt.$(LIBEXT) $@

libmsvcrt20.$(LIBEXT): msvcrt20/libmsvcrt20.$(LIBEXT)
	$(RM) $@ && $(LN_S) msvcrt20/libmsvcrt20.$(LIBEXT) $@

libmsvfw32.$(LIBEXT) libmsvideo.$(LIBEXT): msvideo/libmsvfw32.$(LIBEXT)
	$(RM) $@ && $(LN_S) msvideo/libmsvfw32.$(LIBEXT) $@

libnetapi32.$(LIBEXT): netapi32/libnetapi32.$(LIBEXT)
	$(RM) $@ && $(LN_S) netapi32/libnetapi32.$(LIBEXT) $@

libntdll.$(LIBEXT): ntdll/libntdll.$(LIBEXT)
	$(RM) $@ && $(LN_S) ntdll/libntdll.$(LIBEXT) $@

libodbc32.$(LIBEXT): odbc32/libodbc32.$(LIBEXT)
	$(RM) $@ && $(LN_S) odbc32/libodbc32.$(LIBEXT) $@

libole32.$(LIBEXT) libcompobj.$(LIBEXT) libole2.$(LIBEXT) \
  libole2conv.$(LIBEXT) libole2nls.$(LIBEXT) libole2prox.$(LIBEXT) \
  libole2thk.$(LIBEXT) libstorage.$(LIBEXT): ole32/libole32.$(LIBEXT)
	$(RM) $@ && $(LN_S) ole32/libole32.$(LIBEXT) $@

liboleaut32.$(LIBEXT) libole2disp.$(LIBEXT) libtypelib.$(LIBEXT): oleaut32/liboleaut32.$(LIBEXT)
	$(RM) $@ && $(LN_S) oleaut32/liboleaut32.$(LIBEXT) $@

libolecli32.$(LIBEXT) libolecli.$(LIBEXT): olecli/libolecli32.$(LIBEXT)
	$(RM) $@ && $(LN_S) olecli/libolecli32.$(LIBEXT) $@

liboledlg.$(LIBEXT): oledlg/liboledlg.$(LIBEXT)
	$(RM) $@ && $(LN_S) oledlg/liboledlg.$(LIBEXT) $@

libolepro32.$(LIBEXT): olepro32/libolepro32.$(LIBEXT)
	$(RM) $@ && $(LN_S) olepro32/libolepro32.$(LIBEXT) $@

libolesvr32.$(LIBEXT) libolesvr.$(LIBEXT): olesvr/libolesvr32.$(LIBEXT)
	$(RM) $@ && $(LN_S) olesvr/libolesvr32.$(LIBEXT) $@

libopengl32.$(LIBEXT): opengl32/libopengl32.$(LIBEXT)
	$(RM) $@ && $(LN_S) opengl32/libopengl32.$(LIBEXT) $@

libpsapi.$(LIBEXT): psapi/libpsapi.$(LIBEXT)
	$(RM) $@ && $(LN_S) psapi/libpsapi.$(LIBEXT) $@

libqcap.$(LIBEXT): qcap/libqcap.$(LIBEXT)
	$(RM) $@ && $(LN_S) qcap/libqcap.$(LIBEXT) $@

libquartz.$(LIBEXT): quartz/libquartz.$(LIBEXT)
	$(RM) $@ && $(LN_S) quartz/libquartz.$(LIBEXT) $@

librasapi32.$(LIBEXT) librasapi16.$(LIBEXT): rasapi32/librasapi32.$(LIBEXT)
	$(RM) $@ && $(LN_S) rasapi32/librasapi32.$(LIBEXT) $@

libriched32.$(LIBEXT): richedit/libriched32.$(LIBEXT)
	$(RM) $@ && $(LN_S) richedit/libriched32.$(LIBEXT) $@

librpcrt4.$(LIBEXT): rpcrt4/librpcrt4.$(LIBEXT)
	$(RM) $@ && $(LN_S) rpcrt4/librpcrt4.$(LIBEXT) $@

libserialui.$(LIBEXT): serialui/libserialui.$(LIBEXT)
	$(RM) $@ && $(LN_S) serialui/libserialui.$(LIBEXT) $@

libsetupapi.$(LIBEXT) libsetupx.$(LIBEXT): setupapi/libsetupapi.$(LIBEXT)
	$(RM) $@ && $(LN_S) setupapi/libsetupapi.$(LIBEXT) $@

libshdocvw.$(LIBEXT): shdocvw/libshdocvw.$(LIBEXT)
	$(RM) $@ && $(LN_S) shdocvw/libshdocvw.$(LIBEXT) $@

libshell32.$(LIBEXT) libshell.$(LIBEXT): shell32/libshell32.$(LIBEXT)
	$(RM) $@ && $(LN_S) shell32/libshell32.$(LIBEXT) $@

libshfolder.$(LIBEXT): shfolder/libshfolder.$(LIBEXT)
	$(RM) $@ && $(LN_S) shfolder/libshfolder.$(LIBEXT) $@

libshlwapi.$(LIBEXT): shlwapi/libshlwapi.$(LIBEXT)
	$(RM) $@ && $(LN_S) shlwapi/libshlwapi.$(LIBEXT) $@

libsti.$(LIBEXT): sti/libsti.$(LIBEXT)
	$(RM) $@ && $(LN_S) sti/libsti.$(LIBEXT) $@

libtapi32.$(LIBEXT): tapi32/libtapi32.$(LIBEXT)
	$(RM) $@ && $(LN_S) tapi32/libtapi32.$(LIBEXT) $@

libttydrv.$(LIBEXT): ttydrv/libttydrv.$(LIBEXT)
	$(RM) $@ && $(LN_S) ttydrv/libttydrv.$(LIBEXT) $@

liburl.$(LIBEXT): url/liburl.$(LIBEXT)
	$(RM) $@ && $(LN_S) url/liburl.$(LIBEXT) $@

liburlmon.$(LIBEXT): urlmon/liburlmon.$(LIBEXT)
	$(RM) $@ && $(LN_S) urlmon/liburlmon.$(LIBEXT) $@

libuser32.$(LIBEXT) libddeml.$(LIBEXT) libdisplay.$(LIBEXT) \
  libkeyboard.$(LIBEXT) libmouse.$(LIBEXT) libuser.$(LIBEXT): user/libuser32.$(LIBEXT)
	$(RM) $@ && $(LN_S) user/libuser32.$(LIBEXT) $@

libversion.$(LIBEXT) libver.$(LIBEXT): version/libversion.$(LIBEXT)
	$(RM) $@ && $(LN_S) version/libversion.$(LIBEXT) $@

libw32skrnl.$(LIBEXT) libw32sys.$(LIBEXT) libwin32s16.$(LIBEXT): win32s/libw32skrnl.$(LIBEXT)
	$(RM) $@ && $(LN_S) win32s/libw32skrnl.$(LIBEXT) $@

libwinedos.$(LIBEXT): winedos/libwinedos.$(LIBEXT)
	$(RM) $@ && $(LN_S) winedos/libwinedos.$(LIBEXT) $@

libwineoss.drv.$(LIBEXT): winmm/wineoss/libwineoss.drv.$(LIBEXT)
	$(RM) $@ && $(LN_S) winmm/wineoss/libwineoss.drv.$(LIBEXT) $@

libwineps.$(LIBEXT) libwineps16.$(LIBEXT): wineps/libwineps.$(LIBEXT)
	$(RM) $@ && $(LN_S) wineps/libwineps.$(LIBEXT) $@

libwininet.$(LIBEXT): wininet/libwininet.$(LIBEXT)
	$(RM) $@ && $(LN_S) wininet/libwininet.$(LIBEXT) $@

libwinmm.$(LIBEXT) libmmsystem.$(LIBEXT) libsound.$(LIBEXT): winmm/libwinmm.$(LIBEXT)
	$(RM) $@ && $(LN_S) winmm/libwinmm.$(LIBEXT) $@

libwinnls32.$(LIBEXT) libwinnls.$(LIBEXT): winnls/libwinnls32.$(LIBEXT)
	$(RM) $@ && $(LN_S) winnls/libwinnls32.$(LIBEXT) $@

libwinspool.drv.$(LIBEXT): winspool/libwinspool.drv.$(LIBEXT)
	$(RM) $@ && $(LN_S) winspool/libwinspool.drv.$(LIBEXT) $@

libwintrust.$(LIBEXT): wintrust/libwintrust.$(LIBEXT)
	$(RM) $@ && $(LN_S) wintrust/libwintrust.$(LIBEXT) $@

libwnaspi32.$(LIBEXT) libwinaspi.$(LIBEXT): winaspi/libwnaspi32.$(LIBEXT)
	$(RM) $@ && $(LN_S) winaspi/libwnaspi32.$(LIBEXT) $@

libwow32.$(LIBEXT): wow32/libwow32.$(LIBEXT)
	$(RM) $@ && $(LN_S) wow32/libwow32.$(LIBEXT) $@

libws2_32.$(LIBEXT) libwinsock.$(LIBEXT): winsock/libws2_32.$(LIBEXT)
	$(RM) $@ && $(LN_S) winsock/libws2_32.$(LIBEXT) $@

libwsock32.$(LIBEXT): wsock32/libwsock32.$(LIBEXT)
	$(RM) $@ && $(LN_S) wsock32/libwsock32.$(LIBEXT) $@

libx11drv.$(LIBEXT): x11drv/libx11drv.$(LIBEXT)
	$(RM) $@ && $(LN_S) x11drv/libx11drv.$(LIBEXT) $@

# Inter-dll dependencies

advapi32/libadvapi32.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd advapi32 && $(MAKE) libadvapi32.$(LIBEXT)

avicap32/libavicap32.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd avicap32 && $(MAKE) libavicap32.$(LIBEXT)

avifil32/libavifil32.$(LIBEXT): dummy libmsvfw32.$(LIBEXT) libole32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd avifil32 && $(MAKE) libavifil32.$(LIBEXT)

comctl32/libcomctl32.$(LIBEXT): dummy libwinmm.$(LIBEXT) libuser32.$(LIBEXT) \
  libgdi32.$(LIBEXT) libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd comctl32 && $(MAKE) libcomctl32.$(LIBEXT)

commdlg/libcomdlg32.$(LIBEXT): dummy libshell32.$(LIBEXT) libshlwapi.$(LIBEXT) \
  libcomctl32.$(LIBEXT) libwinspool.drv.$(LIBEXT) libuser32.$(LIBEXT) libgdi32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd commdlg && $(MAKE) libcomdlg32.$(LIBEXT)

crtdll/libcrtdll.$(LIBEXT): dummy libmsvcrt.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd crtdll && $(MAKE) libcrtdll.$(LIBEXT)

crypt32/libcrypt32.$(LIBEXT): dummy libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd crypt32 && $(MAKE) libcrypt32.$(LIBEXT)

dciman32/libdciman32.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd dciman32 && $(MAKE) libdciman32.$(LIBEXT)

ddraw/libddraw.$(LIBEXT): dummy libuser32.$(LIBEXT) libgdi32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd ddraw && $(MAKE) libddraw.$(LIBEXT)

devenum/libdevenum.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd devenum && $(MAKE) libdevenum.$(LIBEXT)

dinput/libdinput.$(LIBEXT): dummy libuser32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd dinput && $(MAKE) libdinput.$(LIBEXT)

dplay/libdplay.$(LIBEXT): dummy libdplayx.$(LIBEXT)
	@cd dplay && $(MAKE) libdplay.$(LIBEXT)

dplayx/libdplayx.$(LIBEXT): dummy libwinmm.$(LIBEXT) libole32.$(LIBEXT) \
  libuser32.$(LIBEXT) libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd dplayx && $(MAKE) libdplayx.$(LIBEXT)

dsound/libdsound.$(LIBEXT): dummy libwinmm.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd dsound && $(MAKE) libdsound.$(LIBEXT)

gdi/libgdi32.$(LIBEXT): dummy libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd gdi && $(MAKE) libgdi32.$(LIBEXT)

glu32/libglu32.$(LIBEXT): dummy
	@cd glu32 && $(MAKE) libglu32.$(LIBEXT)

icmp/libicmp.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd icmp && $(MAKE) libicmp.$(LIBEXT)

imagehlp/libimagehlp.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd imagehlp && $(MAKE) libimagehlp.$(LIBEXT)

imm32/libimm32.$(LIBEXT): dummy libuser32.$(LIBEXT) libgdi32.$(LIBEXT) \
  libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd imm32 && $(MAKE) libimm32.$(LIBEXT)

kernel/libkernel32.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd kernel && $(MAKE) libkernel32.$(LIBEXT)

lzexpand/liblz32.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd lzexpand && $(MAKE) liblz32.$(LIBEXT)

mapi32/libmapi32.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd mapi32 && $(MAKE) libmapi32.$(LIBEXT)

mpr/libmpr.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd mpr && $(MAKE) libmpr.$(LIBEXT)

msacm/libmsacm32.$(LIBEXT): dummy libwinmm.$(LIBEXT) libuser32.$(LIBEXT) \
  libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd msacm && $(MAKE) libmsacm32.$(LIBEXT)

msdmo/libmsdmo.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd msdmo && $(MAKE) libmsdmo.$(LIBEXT)

msimg32/libmsimg32.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd msimg32 && $(MAKE) libmsimg32.$(LIBEXT)

msnet32/libmsnet32.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd msnet32 && $(MAKE) libmsnet32.$(LIBEXT)

msrle32/libmsrle32.$(LIBEXT): dummy libwinmm.$(LIBEXT) libuser32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd msrle32 && $(MAKE) libmsrle32.$(LIBEXT)

msvcrt/libmsvcrt.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd msvcrt && $(MAKE) libmsvcrt.$(LIBEXT)

msvcrt20/libmsvcrt20.$(LIBEXT): dummy libmsvcrt.$(LIBEXT) libntdll.$(LIBEXT)
	@cd msvcrt20 && $(MAKE) libmsvcrt20.$(LIBEXT)

msvideo/libmsvfw32.$(LIBEXT): dummy libwinmm.$(LIBEXT) libcomctl32.$(LIBEXT) \
  libversion.$(LIBEXT) libuser32.$(LIBEXT) libgdi32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd msvideo && $(MAKE) libmsvfw32.$(LIBEXT)

netapi32/libnetapi32.$(LIBEXT): dummy libuser32.$(LIBEXT) libadvapi32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd netapi32 && $(MAKE) libnetapi32.$(LIBEXT)

ntdll/libntdll.$(LIBEXT): dummy
	@cd ntdll && $(MAKE) libntdll.$(LIBEXT)

odbc32/libodbc32.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd odbc32 && $(MAKE) libodbc32.$(LIBEXT)

ole32/libole32.$(LIBEXT): dummy libadvapi32.$(LIBEXT) libuser32.$(LIBEXT) \
  libgdi32.$(LIBEXT) librpcrt4.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd ole32 && $(MAKE) libole32.$(LIBEXT)

oleaut32/liboleaut32.$(LIBEXT): dummy libcomctl32.$(LIBEXT) libole32.$(LIBEXT) \
  libuser32.$(LIBEXT) libgdi32.$(LIBEXT) libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd oleaut32 && $(MAKE) liboleaut32.$(LIBEXT)

olecli/libolecli32.$(LIBEXT): dummy libole32.$(LIBEXT) libgdi32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd olecli && $(MAKE) libolecli32.$(LIBEXT)

oledlg/liboledlg.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd oledlg && $(MAKE) liboledlg.$(LIBEXT)

olepro32/libolepro32.$(LIBEXT): dummy liboleaut32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd olepro32 && $(MAKE) libolepro32.$(LIBEXT)

olesvr/libolesvr32.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd olesvr && $(MAKE) libolesvr32.$(LIBEXT)

opengl32/libopengl32.$(LIBEXT): dummy libuser32.$(LIBEXT) libx11drv.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd opengl32 && $(MAKE) libopengl32.$(LIBEXT)

psapi/libpsapi.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd psapi && $(MAKE) libpsapi.$(LIBEXT)

qcap/libqcap.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd qcap && $(MAKE) libqcap.$(LIBEXT)

quartz/libquartz.$(LIBEXT): dummy liboleaut32.$(LIBEXT) libole32.$(LIBEXT) \
  libmsvfw32.$(LIBEXT) libwinmm.$(LIBEXT) libuser32.$(LIBEXT) libgdi32.$(LIBEXT) \
  libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd quartz && $(MAKE) libquartz.$(LIBEXT)

rasapi32/librasapi32.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd rasapi32 && $(MAKE) librasapi32.$(LIBEXT)

richedit/libriched32.$(LIBEXT): dummy libuser32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd richedit && $(MAKE) libriched32.$(LIBEXT)

rpcrt4/librpcrt4.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd rpcrt4 && $(MAKE) librpcrt4.$(LIBEXT)

serialui/libserialui.$(LIBEXT): dummy libuser32.$(LIBEXT) libadvapi32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd serialui && $(MAKE) libserialui.$(LIBEXT)

setupapi/libsetupapi.$(LIBEXT): dummy libuser32.$(LIBEXT) libadvapi32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd setupapi && $(MAKE) libsetupapi.$(LIBEXT)

shdocvw/libshdocvw.$(LIBEXT): dummy libole32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd shdocvw && $(MAKE) libshdocvw.$(LIBEXT)

shell32/libshell32.$(LIBEXT): dummy libole32.$(LIBEXT) libshlwapi.$(LIBEXT) \
  libcomctl32.$(LIBEXT) libuser32.$(LIBEXT) libgdi32.$(LIBEXT) libadvapi32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd shell32 && $(MAKE) libshell32.$(LIBEXT)

shfolder/libshfolder.$(LIBEXT): dummy libshell32.$(LIBEXT)
	@cd shfolder && $(MAKE) libshfolder.$(LIBEXT)

shlwapi/libshlwapi.$(LIBEXT): dummy libadvapi32.$(LIBEXT) libuser32.$(LIBEXT) \
  libgdi32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd shlwapi && $(MAKE) libshlwapi.$(LIBEXT)

sti/libsti.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd sti && $(MAKE) libsti.$(LIBEXT)

tapi32/libtapi32.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd tapi32 && $(MAKE) libtapi32.$(LIBEXT)

ttydrv/libttydrv.$(LIBEXT): dummy libuser32.$(LIBEXT) libgdi32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd ttydrv && $(MAKE) libttydrv.$(LIBEXT)

url/liburl.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd url && $(MAKE) liburl.$(LIBEXT)

urlmon/liburlmon.$(LIBEXT): dummy libole32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd urlmon && $(MAKE) liburlmon.$(LIBEXT)

user/libuser32.$(LIBEXT): dummy libgdi32.$(LIBEXT) libadvapi32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd user && $(MAKE) libuser32.$(LIBEXT)

version/libversion.$(LIBEXT): dummy liblz32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd version && $(MAKE) libversion.$(LIBEXT)

win32s/libw32skrnl.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd win32s && $(MAKE) libw32skrnl.$(LIBEXT)

winaspi/libwnaspi32.$(LIBEXT): dummy libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd winaspi && $(MAKE) libwnaspi32.$(LIBEXT)

winedos/libwinedos.$(LIBEXT): dummy libuser32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd winedos && $(MAKE) libwinedos.$(LIBEXT)

wineps/libwineps.$(LIBEXT): dummy libuser32.$(LIBEXT) libgdi32.$(LIBEXT) \
  libwinspool.drv.$(LIBEXT) libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd wineps && $(MAKE) libwineps.$(LIBEXT)

wininet/libwininet.$(LIBEXT): dummy libshlwapi.$(LIBEXT) libuser32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd wininet && $(MAKE) libwininet.$(LIBEXT)

winmm/joystick/libjoystick.drv.$(LIBEXT): dummy libwinmm.$(LIBEXT) libuser32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd winmm/joystick && $(MAKE) libjoystick.drv.$(LIBEXT)

winmm/libwinmm.$(LIBEXT): dummy libuser32.$(LIBEXT) libadvapi32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd winmm && $(MAKE) libwinmm.$(LIBEXT)

winmm/mcianim/libmcianim.drv.$(LIBEXT): dummy libwinmm.$(LIBEXT) libuser32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd winmm/mcianim && $(MAKE) libmcianim.drv.$(LIBEXT)

winmm/mciavi/libmciavi.drv.$(LIBEXT): dummy libmsvfw32.$(LIBEXT) libwinmm.$(LIBEXT) \
  libuser32.$(LIBEXT) libgdi32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd winmm/mciavi && $(MAKE) libmciavi.drv.$(LIBEXT)

winmm/mcicda/libmcicda.drv.$(LIBEXT): dummy libwinmm.$(LIBEXT) libuser32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd winmm/mcicda && $(MAKE) libmcicda.drv.$(LIBEXT)

winmm/mciseq/libmciseq.drv.$(LIBEXT): dummy libwinmm.$(LIBEXT) libuser32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd winmm/mciseq && $(MAKE) libmciseq.drv.$(LIBEXT)

winmm/mciwave/libmciwave.drv.$(LIBEXT): dummy libwinmm.$(LIBEXT) libuser32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd winmm/mciwave && $(MAKE) libmciwave.drv.$(LIBEXT)

winmm/midimap/libmidimap.drv.$(LIBEXT): dummy libwinmm.$(LIBEXT) libuser32.$(LIBEXT) \
  libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd winmm/midimap && $(MAKE) libmidimap.drv.$(LIBEXT)

winmm/wavemap/libmsacm.drv.$(LIBEXT): dummy libmsacm32.$(LIBEXT) libwinmm.$(LIBEXT) \
  libuser32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd winmm/wavemap && $(MAKE) libmsacm.drv.$(LIBEXT)

winmm/wineoss/libwineoss.drv.$(LIBEXT): dummy libwinmm.$(LIBEXT) libuser32.$(LIBEXT) \
  libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd winmm/wineoss && $(MAKE) libwineoss.drv.$(LIBEXT)

winnls/libwinnls32.$(LIBEXT): dummy libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd winnls && $(MAKE) libwinnls32.$(LIBEXT)

winsock/libws2_32.$(LIBEXT): dummy libuser32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd winsock && $(MAKE) libws2_32.$(LIBEXT)

winspool/libwinspool.drv.$(LIBEXT): dummy libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd winspool && $(MAKE) libwinspool.drv.$(LIBEXT)

wintrust/libwintrust.$(LIBEXT): dummy libntdll.$(LIBEXT)
	@cd wintrust && $(MAKE) libwintrust.$(LIBEXT)

wow32/libwow32.$(LIBEXT): dummy libkernel32.$(LIBEXT)
	@cd wow32 && $(MAKE) libwow32.$(LIBEXT)

wsock32/libwsock32.$(LIBEXT): dummy libws2_32.$(LIBEXT) libkernel32.$(LIBEXT) \
  libntdll.$(LIBEXT)
	@cd wsock32 && $(MAKE) libwsock32.$(LIBEXT)

x11drv/libx11drv.$(LIBEXT): dummy libuser32.$(LIBEXT) libgdi32.$(LIBEXT) \
  libadvapi32.$(LIBEXT) libkernel32.$(LIBEXT) libntdll.$(LIBEXT)
	@cd x11drv && $(MAKE) libx11drv.$(LIBEXT)

# Misc rules

$(SUBDIRS:%=%/__test__): dummy
	@cd `dirname $@` && $(MAKE) test

$(SUBDIRS:%=%/__checklink__): dummy
	@cd `dirname $@` && $(MAKE) checklink

$(SUBDIRS:%=%/__debug_channels__): dummy
	@cd `dirname $@` && $(MAKE) debug_channels

install:: $(SUBDIRS:%=%/__install__)

uninstall:: $(SUBDIRS:%=%/__uninstall__)

check test:: $(SUBDIRS:%=%/__test__)

checklink:: $(SUBDIRS:%=%/__checklink__)

debug_channels:: $(SUBDIRS:%=%/__debug_channels__)
