Change .so to .$(LIBEXT) in various Makefile.in's

Warren_Baird/CSI at cimmetry.com Warren_Baird/CSI at cimmetry.com
Fri Oct 8 10:37:21 CDT 2004


Changelog:

Warren Baird <warren.baird at cimmetry.com>
Fix various Makefile.in and related files to use $(LIBEXT) instead of 
"so",
since HPUX uses .sl for a shared library extension. 
Added direct support for .sl in a few places where .so and .dylib were 
treated differently.

-------------- next part --------------
diff -ru clean/wine-20040914/dlls/Makedll.rules.in wine-20040914/dlls/Makedll.rules.in
--- clean/wine-20040914/dlls/Makedll.rules.in	2004-08-11 19:59:08.000000000 -0400
+++ wine-20040914/dlls/Makedll.rules.in	2004-09-20 12:57:25.000000000 -0400
@@ -23,9 +23,9 @@
 
 @MAKE_RULES@
 
-# Rules for .so files
+# Rules for dll files
 
-$(MODULE).so: $(MAINSPEC) $(RC_SRCS:.rc=.res) $(ALL_OBJS) $(IMPORTLIBS) Makefile.in
+$(MODULE)$(DLLEXT): $(MAINSPEC) $(RC_SRCS:.rc=.res) $(ALL_OBJS) $(IMPORTLIBS) Makefile.in
 	$(WINEGCC) -B$(TOOLSDIR)/tools/winebuild -shared $(SRCDIR)/$(MAINSPEC) $(ALL_OBJS) $(RC_SRCS:.rc=.res) $(SUBSYSTEM:%=-Wb,--subsystem,%) -o $@ -L$(DLLDIR) $(DELAYIMPORTS:%=-Wb,-d%) $(IMPORTS:%=-l%) $(ALL_LIBS)
 
 # Rules for .dll files
diff -ru clean/wine-20040914/dlls/Makefile.in wine-20040914/dlls/Makefile.in
--- clean/wine-20040914/dlls/Makefile.in	2004-08-24 17:00:15.000000000 -0400
+++ wine-20040914/dlls/Makefile.in	2004-09-20 11:10:28.000000000 -0400
@@ -187,766 +187,766 @@
 # Symbolic links
 
 WIN16_FILES = \
-	avifile.dll.so \
-	comm.drv.so \
-	commdlg.dll.so \
-	compobj.dll.so \
-	ctl3d.dll.so \
-	ctl3dv2.dll.so \
-	ddeml.dll.so \
-	dispdib.dll.so \
-	display.drv.so \
-	gdi.exe.so \
-	imm.dll.so \
-	keyboard.drv.so \
-	krnl386.exe.so \
-	lzexpand.dll.so \
-	mmsystem.dll.so \
-	mouse.drv.so \
-	msacm.dll.so \
-	msvideo.dll.so \
-	ole2.dll.so \
-	ole2conv.dll.so \
-	ole2disp.dll.so \
-	ole2nls.dll.so \
-	ole2prox.dll.so \
-	ole2thk.dll.so \
-	olecli.dll.so \
-	olesvr.dll.so \
-	rasapi16.dll.so \
-	setupx.dll.so \
-	shell.dll.so \
-	sound.dll.so \
-	storage.dll.so \
-	stress.dll.so \
-	system.drv.so \
-	toolhelp.dll.so \
-	twain.dll.so \
-	typelib.dll.so \
-	user.exe.so \
-	ver.dll.so \
-	w32sys.dll.so \
-	win32s16.dll.so \
-	win87em.dll.so \
-	winaspi.dll.so \
-	windebug.dll.so \
-	wineps16.drv.so \
-	wing.dll.so \
-	winnls.dll.so \
-	winsock.dll.so \
-	wintab.dll.so \
-	wprocs.dll.so
+	avifile.dll.$(LIBEXT) \
+	comm.drv.$(LIBEXT) \
+	commdlg.dll.$(LIBEXT) \
+	compobj.dll.$(LIBEXT) \
+	ctl3d.dll.$(LIBEXT) \
+	ctl3dv2.dll.$(LIBEXT) \
+	ddeml.dll.$(LIBEXT) \
+	dispdib.dll.$(LIBEXT) \
+	display.drv.$(LIBEXT) \
+	gdi.exe.$(LIBEXT) \
+	imm.dll.$(LIBEXT) \
+	keyboard.drv.$(LIBEXT) \
+	krnl386.exe.$(LIBEXT) \
+	lzexpand.dll.$(LIBEXT) \
+	mmsystem.dll.$(LIBEXT) \
+	mouse.drv.$(LIBEXT) \
+	msacm.dll.$(LIBEXT) \
+	msvideo.dll.$(LIBEXT) \
+	ole2.dll.$(LIBEXT) \
+	ole2conv.dll.$(LIBEXT) \
+	ole2disp.dll.$(LIBEXT) \
+	ole2nls.dll.$(LIBEXT) \
+	ole2prox.dll.$(LIBEXT) \
+	ole2thk.dll.$(LIBEXT) \
+	olecli.dll.$(LIBEXT) \
+	olesvr.dll.$(LIBEXT) \
+	rasapi16.dll.$(LIBEXT) \
+	setupx.dll.$(LIBEXT) \
+	shell.dll.$(LIBEXT) \
+	sound.dll.$(LIBEXT) \
+	storage.dll.$(LIBEXT) \
+	stress.dll.$(LIBEXT) \
+	system.drv.$(LIBEXT) \
+	toolhelp.dll.$(LIBEXT) \
+	twain.dll.$(LIBEXT) \
+	typelib.dll.$(LIBEXT) \
+	user.exe.$(LIBEXT) \
+	ver.dll.$(LIBEXT) \
+	w32sys.dll.$(LIBEXT) \
+	win32s16.dll.$(LIBEXT) \
+	win87em.dll.$(LIBEXT) \
+	winaspi.dll.$(LIBEXT) \
+	windebug.dll.$(LIBEXT) \
+	wineps16.drv.$(LIBEXT) \
+	wing.dll.$(LIBEXT) \
+	winnls.dll.$(LIBEXT) \
+	winsock.dll.$(LIBEXT) \
+	wintab.dll.$(LIBEXT) \
+	wprocs.dll.$(LIBEXT)
 
 SYMLINKS_SO = \
-	$(EXTRADIRS:%=%.dll.so) \
+	$(EXTRADIRS:%=%.dll.$(LIBEXT)) \
 	@WIN16_FILES@ \
-	advapi32.dll.so \
-	amstream.dll.so \
-	atl.dll.so \
-	avicap32.dll.so \
-	avifil32.dll.so \
-	cabinet.dll.so \
-	capi2032.dll.so \
-	cards.dll.so \
-	cfgmgr32.dll.so \
-	comcat.dll.so \
-	comctl32.dll.so \
-	comdlg32.dll.so \
-	crtdll.dll.so \
-	crypt32.dll.so \
-	ctl3d32.dll.so \
-	d3dim.dll.so \
-	d3drm.dll.so \
-	d3dxof.dll.so \
-	dbghelp.dll.so \
-	dciman32.dll.so \
-	devenum.dll.so \
-	dinput.dll.so \
-	dinput8.dll.so \
-	dmband.dll.so \
-	dmcompos.dll.so \
-	dmime.dll.so \
-	dmloader.dll.so \
-	dmscript.dll.so \
-	dmstyle.dll.so \
-	dmsynth.dll.so \
-	dmusic.dll.so \
-	dmusic32.dll.so \
-	dplay.dll.so \
-	dplayx.dll.so \
-	dpnet.dll.so \
-	dpnhpast.dll.so \
-	dsound.dll.so \
-	dswave.dll.so \
-	dxdiagn.dll.so \
-	gdi32.dll.so \
-	hhctrl.ocx.so \
-	iccvid.dll.so \
-	icmp.dll.so \
-	ifsmgr.vxd.so \
-	imaadp32.acm.so \
-	imagehlp.dll.so \
-	imm32.dll.so \
-	iphlpapi.dll.so \
-	itss.dll.so \
-	joystick.drv.so \
-	kernel32.dll.so \
+	advapi32.dll.$(LIBEXT) \
+	amstream.dll.$(LIBEXT) \
+	atl.dll.$(LIBEXT) \
+	avicap32.dll.$(LIBEXT) \
+	avifil32.dll.$(LIBEXT) \
+	cabinet.dll.$(LIBEXT) \
+	capi2032.dll.$(LIBEXT) \
+	cards.dll.$(LIBEXT) \
+	cfgmgr32.dll.$(LIBEXT) \
+	comcat.dll.$(LIBEXT) \
+	comctl32.dll.$(LIBEXT) \
+	comdlg32.dll.$(LIBEXT) \
+	crtdll.dll.$(LIBEXT) \
+	crypt32.dll.$(LIBEXT) \
+	ctl3d32.dll.$(LIBEXT) \
+	d3dim.dll.$(LIBEXT) \
+	d3drm.dll.$(LIBEXT) \
+	d3dxof.dll.$(LIBEXT) \
+	dbghelp.dll.$(LIBEXT) \
+	dciman32.dll.$(LIBEXT) \
+	devenum.dll.$(LIBEXT) \
+	dinput.dll.$(LIBEXT) \
+	dinput8.dll.$(LIBEXT) \
+	dmband.dll.$(LIBEXT) \
+	dmcompos.dll.$(LIBEXT) \
+	dmime.dll.$(LIBEXT) \
+	dmloader.dll.$(LIBEXT) \
+	dmscript.dll.$(LIBEXT) \
+	dmstyle.dll.$(LIBEXT) \
+	dmsynth.dll.$(LIBEXT) \
+	dmusic.dll.$(LIBEXT) \
+	dmusic32.dll.$(LIBEXT) \
+	dplay.dll.$(LIBEXT) \
+	dplayx.dll.$(LIBEXT) \
+	dpnet.dll.$(LIBEXT) \
+	dpnhpast.dll.$(LIBEXT) \
+	dsound.dll.$(LIBEXT) \
+	dswave.dll.$(LIBEXT) \
+	dxdiagn.dll.$(LIBEXT) \
+	gdi32.dll.$(LIBEXT) \
+	hhctrl.ocx.$(LIBEXT) \
+	iccvid.dll.$(LIBEXT) \
+	icmp.dll.$(LIBEXT) \
+	ifsmgr.vxd.$(LIBEXT) \
+	imaadp32.acm.$(LIBEXT) \
+	imagehlp.dll.$(LIBEXT) \
+	imm32.dll.$(LIBEXT) \
+	iphlpapi.dll.$(LIBEXT) \
+	itss.dll.$(LIBEXT) \
+	joystick.drv.$(LIBEXT) \
+	kernel32.dll.$(LIBEXT) \
 	libdxerr8.a \
 	libdxerr9.a \
 	libdxguid.a \
 	libstrmiids.a \
 	libuuid.a \
-	lz32.dll.so \
-	mapi32.dll.so \
-	mcianim.drv.so \
-	mciavi.drv.so \
-	mcicda.drv.so \
-	mciseq.drv.so \
-	mciwave.drv.so \
-	midimap.drv.so \
-	mlang.dll.so \
-	mmdevldr.vxd.so \
-	monodebg.vxd.so \
-	mpr.dll.so \
-	msacm.drv.so \
-	msacm32.dll.so \
-	msadp32.acm.so \
-	msdmo.dll.so \
-	msg711.acm.so \
-	mshtml.dll.so \
-	msi.dll.so \
-	msimg32.dll.so \
-	msisys.ocx.so \
-	msnet32.dll.so \
-	msrle32.dll.so \
-	msvcrt.dll.so \
-	msvcrt20.dll.so \
-	msvcrt40.dll.so \
-	msvcrtd.dll.so \
-	msvfw32.dll.so \
-	msvidc32.dll.so \
-	mswsock.dll.so \
-	netapi32.dll.so \
-	newdev.dll.so \
-	ntdll.dll.so \
-	odbc32.dll.so \
-	ole32.dll.so \
-	oleacc.dll.so \
-	oleaut32.dll.so \
-	olecli32.dll.so \
-	oledlg.dll.so \
-	olepro32.dll.so \
-	olesvr32.dll.so \
-	psapi.dll.so \
-	qcap.dll.so \
-	quartz.dll.so \
-	rasapi32.dll.so \
-	riched32.dll.so \
-	rpcrt4.dll.so \
-	rsabase.dll.so \
-	secur32.dll.so \
-	serialui.dll.so \
-	setupapi.dll.so \
-	shdocvw.dll.so \
-	shell32.dll.so \
-	shfolder.dll.so \
-	shlwapi.dll.so \
-	snmpapi.dll.so \
-	sti.dll.so \
-	tapi32.dll.so \
-	ttydrv.dll.so \
-	twain_32.dll.so \
-	unicows.dll.so \
-	url.dll.so \
-	urlmon.dll.so \
-	user32.dll.so \
-	uxtheme.dll.so \
-	vdhcp.vxd.so \
-	vdmdbg.dll.so \
-	version.dll.so \
-	vmm.vxd.so \
-	vnbt.vxd.so \
-	vnetbios.vxd.so \
-	vtdapi.vxd.so \
-	vwin32.vxd.so \
-	w32skrnl.dll.so \
-	winealsa.drv.so \
-	winearts.drv.so \
-	wineaudioio.drv.so \
-	winedos.dll.so \
-	winejack.drv.so \
-	winemp3.acm.so \
-	winenas.drv.so \
-	wineoss.drv.so \
-	wineps.dll.so \
-	wininet.dll.so \
-	winmm.dll.so \
-	winnls32.dll.so \
-	winspool.drv.so \
-	wintab32.dll.so \
-	wintrust.dll.so \
-	wnaspi32.dll.so \
-	wow32.dll.so \
-	ws2_32.dll.so \
-	wsock32.dll.so
+	lz32.dll.$(LIBEXT) \
+	mapi32.dll.$(LIBEXT) \
+	mcianim.drv.$(LIBEXT) \
+	mciavi.drv.$(LIBEXT) \
+	mcicda.drv.$(LIBEXT) \
+	mciseq.drv.$(LIBEXT) \
+	mciwave.drv.$(LIBEXT) \
+	midimap.drv.$(LIBEXT) \
+	mlang.dll.$(LIBEXT) \
+	mmdevldr.vxd.$(LIBEXT) \
+	monodebg.vxd.$(LIBEXT) \
+	mpr.dll.$(LIBEXT) \
+	msacm.drv.$(LIBEXT) \
+	msacm32.dll.$(LIBEXT) \
+	msadp32.acm.$(LIBEXT) \
+	msdmo.dll.$(LIBEXT) \
+	msg711.acm.$(LIBEXT) \
+	mshtml.dll.$(LIBEXT) \
+	msi.dll.$(LIBEXT) \
+	msimg32.dll.$(LIBEXT) \
+	msisys.ocx.$(LIBEXT) \
+	msnet32.dll.$(LIBEXT) \
+	msrle32.dll.$(LIBEXT) \
+	msvcrt.dll.$(LIBEXT) \
+	msvcrt20.dll.$(LIBEXT) \
+	msvcrt40.dll.$(LIBEXT) \
+	msvcrtd.dll.$(LIBEXT) \
+	msvfw32.dll.$(LIBEXT) \
+	msvidc32.dll.$(LIBEXT) \
+	mswsock.dll.$(LIBEXT) \
+	netapi32.dll.$(LIBEXT) \
+	newdev.dll.$(LIBEXT) \
+	ntdll.dll.$(LIBEXT) \
+	odbc32.dll.$(LIBEXT) \
+	ole32.dll.$(LIBEXT) \
+	oleacc.dll.$(LIBEXT) \
+	oleaut32.dll.$(LIBEXT) \
+	olecli32.dll.$(LIBEXT) \
+	oledlg.dll.$(LIBEXT) \
+	olepro32.dll.$(LIBEXT) \
+	olesvr32.dll.$(LIBEXT) \
+	psapi.dll.$(LIBEXT) \
+	qcap.dll.$(LIBEXT) \
+	quartz.dll.$(LIBEXT) \
+	rasapi32.dll.$(LIBEXT) \
+	riched32.dll.$(LIBEXT) \
+	rpcrt4.dll.$(LIBEXT) \
+	rsabase.dll.$(LIBEXT) \
+	secur32.dll.$(LIBEXT) \
+	serialui.dll.$(LIBEXT) \
+	setupapi.dll.$(LIBEXT) \
+	shdocvw.dll.$(LIBEXT) \
+	shell32.dll.$(LIBEXT) \
+	shfolder.dll.$(LIBEXT) \
+	shlwapi.dll.$(LIBEXT) \
+	snmpapi.dll.$(LIBEXT) \
+	sti.dll.$(LIBEXT) \
+	tapi32.dll.$(LIBEXT) \
+	ttydrv.dll.$(LIBEXT) \
+	twain_32.dll.$(LIBEXT) \
+	unicows.dll.$(LIBEXT) \
+	url.dll.$(LIBEXT) \
+	urlmon.dll.$(LIBEXT) \
+	user32.dll.$(LIBEXT) \
+	uxtheme.dll.$(LIBEXT) \
+	vdhcp.vxd.$(LIBEXT) \
+	vdmdbg.dll.$(LIBEXT) \
+	version.dll.$(LIBEXT) \
+	vmm.vxd.$(LIBEXT) \
+	vnbt.vxd.$(LIBEXT) \
+	vnetbios.vxd.$(LIBEXT) \
+	vtdapi.vxd.$(LIBEXT) \
+	vwin32.vxd.$(LIBEXT) \
+	w32skrnl.dll.$(LIBEXT) \
+	winealsa.drv.$(LIBEXT) \
+	winearts.drv.$(LIBEXT) \
+	wineaudioio.drv.$(LIBEXT) \
+	winedos.dll.$(LIBEXT) \
+	winejack.drv.$(LIBEXT) \
+	winemp3.acm.$(LIBEXT) \
+	winenas.drv.$(LIBEXT) \
+	wineoss.drv.$(LIBEXT) \
+	wineps.dll.$(LIBEXT) \
+	wininet.dll.$(LIBEXT) \
+	winmm.dll.$(LIBEXT) \
+	winnls32.dll.$(LIBEXT) \
+	winspool.drv.$(LIBEXT) \
+	wintab32.dll.$(LIBEXT) \
+	wintrust.dll.$(LIBEXT) \
+	wnaspi32.dll.$(LIBEXT) \
+	wow32.dll.$(LIBEXT) \
+	ws2_32.dll.$(LIBEXT) \
+	wsock32.dll.$(LIBEXT)
 
 # Main target
 
 all: symlinks$(DLLEXT)
 
-.PHONY: symlinks symlinks.so implib
+.PHONY: symlinks symlinks.$(LIBEXT) implib
 
-symlinks.so: $(SYMLINKS_SO)
+symlinks.$(LIBEXT): $(SYMLINKS_SO)
 
 symlinks: $(BUILDSUBDIRS)
 
 
 # Map symlink name to the corresponding library
 
-advapi32.dll.so: advapi32/advapi32.dll.so
-	$(RM) $@ && $(LN_S) advapi32/advapi32.dll.so $@
+advapi32.dll.$(LIBEXT): advapi32/advapi32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) advapi32/advapi32.dll.$(LIBEXT) $@
 
-amstream.dll.so: amstream/amstream.dll.so
-	$(RM) $@ && $(LN_S) amstream/amstream.dll.so $@
+amstream.dll.$(LIBEXT): amstream/amstream.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) amstream/amstream.dll.$(LIBEXT) $@
 
-atl.dll.so: atl/atl.dll.so
-	$(RM) $@ && $(LN_S) atl/atl.dll.so $@
+atl.dll.$(LIBEXT): atl/atl.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) atl/atl.dll.$(LIBEXT) $@
 
-avicap32.dll.so: avicap32/avicap32.dll.so
-	$(RM) $@ && $(LN_S) avicap32/avicap32.dll.so $@
+avicap32.dll.$(LIBEXT): avicap32/avicap32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) avicap32/avicap32.dll.$(LIBEXT) $@
 
-avifil32.dll.so: avifil32/avifil32.dll.so
-	$(RM) $@ && $(LN_S) avifil32/avifil32.dll.so $@
+avifil32.dll.$(LIBEXT): avifil32/avifil32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) avifil32/avifil32.dll.$(LIBEXT) $@
 
-avifile.dll.so : avifil32.dll.so
-	$(RM) $@ && $(LN_S) avifil32.dll.so $@
+avifile.dll.$(LIBEXT) : avifil32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) avifil32.dll.$(LIBEXT) $@
 
-cabinet.dll.so: cabinet/cabinet.dll.so
-	$(RM) $@ && $(LN_S) cabinet/cabinet.dll.so $@
+cabinet.dll.$(LIBEXT): cabinet/cabinet.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) cabinet/cabinet.dll.$(LIBEXT) $@
 
-capi2032.dll.so: capi2032/capi2032.dll.so
-	$(RM) $@ && $(LN_S) capi2032/capi2032.dll.so $@
+capi2032.dll.$(LIBEXT): capi2032/capi2032.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) capi2032/capi2032.dll.$(LIBEXT) $@
 
-cards.dll.so: cards/cards.dll.so
-	$(RM) $@ && $(LN_S) cards/cards.dll.so $@
+cards.dll.$(LIBEXT): cards/cards.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) cards/cards.dll.$(LIBEXT) $@
 
-cfgmgr32.dll.so: cfgmgr32/cfgmgr32.dll.so
-	$(RM) $@ && $(LN_S) cfgmgr32/cfgmgr32.dll.so $@
+cfgmgr32.dll.$(LIBEXT): cfgmgr32/cfgmgr32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) cfgmgr32/cfgmgr32.dll.$(LIBEXT) $@
 
-comcat.dll.so: comcat/comcat.dll.so
-	$(RM) $@ && $(LN_S) comcat/comcat.dll.so $@
+comcat.dll.$(LIBEXT): comcat/comcat.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) comcat/comcat.dll.$(LIBEXT) $@
 
-comctl32.dll.so: comctl32/comctl32.dll.so
-	$(RM) $@ && $(LN_S) comctl32/comctl32.dll.so $@
+comctl32.dll.$(LIBEXT): comctl32/comctl32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) comctl32/comctl32.dll.$(LIBEXT) $@
 
-comdlg32.dll.so: commdlg/comdlg32.dll.so
-	$(RM) $@ && $(LN_S) commdlg/comdlg32.dll.so $@
+comdlg32.dll.$(LIBEXT): commdlg/comdlg32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) commdlg/comdlg32.dll.$(LIBEXT) $@
 
-commdlg.dll.so : comdlg32.dll.so
-	$(RM) $@ && $(LN_S) comdlg32.dll.so $@
+commdlg.dll.$(LIBEXT) : comdlg32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) comdlg32.dll.$(LIBEXT) $@
 
-crtdll.dll.so: crtdll/crtdll.dll.so
-	$(RM) $@ && $(LN_S) crtdll/crtdll.dll.so $@
+crtdll.dll.$(LIBEXT): crtdll/crtdll.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) crtdll/crtdll.dll.$(LIBEXT) $@
 
-crypt32.dll.so: crypt32/crypt32.dll.so
-	$(RM) $@ && $(LN_S) crypt32/crypt32.dll.so $@
+crypt32.dll.$(LIBEXT): crypt32/crypt32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) crypt32/crypt32.dll.$(LIBEXT) $@
 
-ctl3d32.dll.so: ctl3d/ctl3d32.dll.so
-	$(RM) $@ && $(LN_S) ctl3d/ctl3d32.dll.so $@
+ctl3d32.dll.$(LIBEXT): ctl3d/ctl3d32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) ctl3d/ctl3d32.dll.$(LIBEXT) $@
 
-ctl3d.dll.so ctl3dv2.dll.so : ctl3d32.dll.so
-	$(RM) $@ && $(LN_S) ctl3d32.dll.so $@
+ctl3d.dll.$(LIBEXT) ctl3dv2.dll.$(LIBEXT) : ctl3d32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) ctl3d32.dll.$(LIBEXT) $@
 
-d3d8.dll.so: d3d8/d3d8.dll.so
-	$(RM) $@ && $(LN_S) d3d8/d3d8.dll.so $@
+d3d8.dll.$(LIBEXT): d3d8/d3d8.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) d3d8/d3d8.dll.$(LIBEXT) $@
 
-d3d9.dll.so: d3d9/d3d9.dll.so
-	$(RM) $@ && $(LN_S) d3d9/d3d9.dll.so $@
+d3d9.dll.$(LIBEXT): d3d9/d3d9.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) d3d9/d3d9.dll.$(LIBEXT) $@
 
-d3dim.dll.so: d3dim/d3dim.dll.so
-	$(RM) $@ && $(LN_S) d3dim/d3dim.dll.so $@
+d3dim.dll.$(LIBEXT): d3dim/d3dim.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) d3dim/d3dim.dll.$(LIBEXT) $@
 
-d3drm.dll.so: d3drm/d3drm.dll.so
-	$(RM) $@ && $(LN_S) d3drm/d3drm.dll.so $@
+d3drm.dll.$(LIBEXT): d3drm/d3drm.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) d3drm/d3drm.dll.$(LIBEXT) $@
 
-d3dx8.dll.so: d3dx8/d3dx8.dll.so
-	$(RM) $@ && $(LN_S) d3dx8/d3dx8.dll.so $@
+d3dx8.dll.$(LIBEXT): d3dx8/d3dx8.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) d3dx8/d3dx8.dll.$(LIBEXT) $@
 
-d3dxof.dll.so: d3dxof/d3dxof.dll.so
-	$(RM) $@ && $(LN_S) d3dxof/d3dxof.dll.so $@
+d3dxof.dll.$(LIBEXT): d3dxof/d3dxof.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) d3dxof/d3dxof.dll.$(LIBEXT) $@
 
-dbghelp.dll.so: dbghelp/dbghelp.dll.so
-	$(RM) $@ && $(LN_S) dbghelp/dbghelp.dll.so $@
+dbghelp.dll.$(LIBEXT): dbghelp/dbghelp.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dbghelp/dbghelp.dll.$(LIBEXT) $@
 
-dciman32.dll.so: dciman32/dciman32.dll.so
-	$(RM) $@ && $(LN_S) dciman32/dciman32.dll.so $@
+dciman32.dll.$(LIBEXT): dciman32/dciman32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dciman32/dciman32.dll.$(LIBEXT) $@
 
-ddraw.dll.so: ddraw/ddraw.dll.so
-	$(RM) $@ && $(LN_S) ddraw/ddraw.dll.so $@
+ddraw.dll.$(LIBEXT): ddraw/ddraw.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) ddraw/ddraw.dll.$(LIBEXT) $@
 
-devenum.dll.so: devenum/devenum.dll.so
-	$(RM) $@ && $(LN_S) devenum/devenum.dll.so $@
+devenum.dll.$(LIBEXT): devenum/devenum.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) devenum/devenum.dll.$(LIBEXT) $@
 
-dinput.dll.so: dinput/dinput.dll.so
-	$(RM) $@ && $(LN_S) dinput/dinput.dll.so $@
+dinput.dll.$(LIBEXT): dinput/dinput.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dinput/dinput.dll.$(LIBEXT) $@
 
-dinput8.dll.so: dinput8/dinput8.dll.so
-	$(RM) $@ && $(LN_S) dinput8/dinput8.dll.so $@
+dinput8.dll.$(LIBEXT): dinput8/dinput8.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dinput8/dinput8.dll.$(LIBEXT) $@
 
-dmband.dll.so: dmband/dmband.dll.so
-	$(RM) $@ && $(LN_S) dmband/dmband.dll.so $@
+dmband.dll.$(LIBEXT): dmband/dmband.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dmband/dmband.dll.$(LIBEXT) $@
 
-dmcompos.dll.so: dmcompos/dmcompos.dll.so
-	$(RM) $@ && $(LN_S) dmcompos/dmcompos.dll.so $@
+dmcompos.dll.$(LIBEXT): dmcompos/dmcompos.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dmcompos/dmcompos.dll.$(LIBEXT) $@
 
-dmime.dll.so: dmime/dmime.dll.so
-	$(RM) $@ && $(LN_S) dmime/dmime.dll.so $@
+dmime.dll.$(LIBEXT): dmime/dmime.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dmime/dmime.dll.$(LIBEXT) $@
 
-dmloader.dll.so: dmloader/dmloader.dll.so
-	$(RM) $@ && $(LN_S) dmloader/dmloader.dll.so $@
+dmloader.dll.$(LIBEXT): dmloader/dmloader.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dmloader/dmloader.dll.$(LIBEXT) $@
 
-dmscript.dll.so: dmscript/dmscript.dll.so
-	$(RM) $@ && $(LN_S) dmscript/dmscript.dll.so $@
+dmscript.dll.$(LIBEXT): dmscript/dmscript.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dmscript/dmscript.dll.$(LIBEXT) $@
 
-dmstyle.dll.so: dmstyle/dmstyle.dll.so
-	$(RM) $@ && $(LN_S) dmstyle/dmstyle.dll.so $@
+dmstyle.dll.$(LIBEXT): dmstyle/dmstyle.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dmstyle/dmstyle.dll.$(LIBEXT) $@
 
-dmsynth.dll.so: dmsynth/dmsynth.dll.so
-	$(RM) $@ && $(LN_S) dmsynth/dmsynth.dll.so $@
+dmsynth.dll.$(LIBEXT): dmsynth/dmsynth.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dmsynth/dmsynth.dll.$(LIBEXT) $@
 
-dmusic.dll.so: dmusic/dmusic.dll.so
-	$(RM) $@ && $(LN_S) dmusic/dmusic.dll.so $@
+dmusic.dll.$(LIBEXT): dmusic/dmusic.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dmusic/dmusic.dll.$(LIBEXT) $@
 
-dmusic32.dll.so: dmusic32/dmusic32.dll.so
-	$(RM) $@ && $(LN_S) dmusic32/dmusic32.dll.so $@
+dmusic32.dll.$(LIBEXT): dmusic32/dmusic32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dmusic32/dmusic32.dll.$(LIBEXT) $@
 
-dplay.dll.so: dplay/dplay.dll.so
-	$(RM) $@ && $(LN_S) dplay/dplay.dll.so $@
+dplay.dll.$(LIBEXT): dplay/dplay.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dplay/dplay.dll.$(LIBEXT) $@
 
-dplayx.dll.so: dplayx/dplayx.dll.so
-	$(RM) $@ && $(LN_S) dplayx/dplayx.dll.so $@
+dplayx.dll.$(LIBEXT): dplayx/dplayx.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dplayx/dplayx.dll.$(LIBEXT) $@
 
-dpnet.dll.so: dpnet/dpnet.dll.so
-	$(RM) $@ && $(LN_S) dpnet/dpnet.dll.so $@
+dpnet.dll.$(LIBEXT): dpnet/dpnet.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dpnet/dpnet.dll.$(LIBEXT) $@
 
-dpnhpast.dll.so: dpnhpast/dpnhpast.dll.so
-	$(RM) $@ && $(LN_S) dpnhpast/dpnhpast.dll.so $@
+dpnhpast.dll.$(LIBEXT): dpnhpast/dpnhpast.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dpnhpast/dpnhpast.dll.$(LIBEXT) $@
 
-dsound.dll.so: dsound/dsound.dll.so
-	$(RM) $@ && $(LN_S) dsound/dsound.dll.so $@
+dsound.dll.$(LIBEXT): dsound/dsound.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dsound/dsound.dll.$(LIBEXT) $@
 
-dswave.dll.so: dswave/dswave.dll.so
-	$(RM) $@ && $(LN_S) dswave/dswave.dll.so $@
+dswave.dll.$(LIBEXT): dswave/dswave.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dswave/dswave.dll.$(LIBEXT) $@
 
-dxdiagn.dll.so: dxdiagn/dxdiagn.dll.so
-	$(RM) $@ && $(LN_S) dxdiagn/dxdiagn.dll.so $@
+dxdiagn.dll.$(LIBEXT): dxdiagn/dxdiagn.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) dxdiagn/dxdiagn.dll.$(LIBEXT) $@
 
-gdi32.dll.so: gdi/gdi32.dll.so
-	$(RM) $@ && $(LN_S) gdi/gdi32.dll.so $@
+gdi32.dll.$(LIBEXT): gdi/gdi32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) gdi/gdi32.dll.$(LIBEXT) $@
 
-dispdib.dll.so gdi.exe.so wing.dll.so : gdi32.dll.so
-	$(RM) $@ && $(LN_S) gdi32.dll.so $@
+dispdib.dll.$(LIBEXT) gdi.exe.$(LIBEXT) wing.dll.$(LIBEXT) : gdi32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) gdi32.dll.$(LIBEXT) $@
 
-glu32.dll.so: glu32/glu32.dll.so
-	$(RM) $@ && $(LN_S) glu32/glu32.dll.so $@
+glu32.dll.$(LIBEXT): glu32/glu32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) glu32/glu32.dll.$(LIBEXT) $@
 
-glut32.dll.so: glut32/glut32.dll.so
-	$(RM) $@ && $(LN_S) glut32/glut32.dll.so $@
+glut32.dll.$(LIBEXT): glut32/glut32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) glut32/glut32.dll.$(LIBEXT) $@
 
-hhctrl.ocx.so: hhctrl.ocx/hhctrl.ocx.so
-	$(RM) $@ && $(LN_S) hhctrl.ocx/hhctrl.ocx.so $@
+hhctrl.ocx.$(LIBEXT): hhctrl.ocx/hhctrl.ocx.$(LIBEXT)
+	$(RM) $@ && $(LN_S) hhctrl.ocx/hhctrl.ocx.$(LIBEXT) $@
 
-iccvid.dll.so: iccvid/iccvid.dll.so
-	$(RM) $@ && $(LN_S) iccvid/iccvid.dll.so $@
+iccvid.dll.$(LIBEXT): iccvid/iccvid.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) iccvid/iccvid.dll.$(LIBEXT) $@
 
-icmp.dll.so: icmp/icmp.dll.so
-	$(RM) $@ && $(LN_S) icmp/icmp.dll.so $@
+icmp.dll.$(LIBEXT): icmp/icmp.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) icmp/icmp.dll.$(LIBEXT) $@
 
-ifsmgr.vxd.so: ifsmgr.vxd/ifsmgr.vxd.so
-	$(RM) $@ && $(LN_S) ifsmgr.vxd/ifsmgr.vxd.so $@
+ifsmgr.vxd.$(LIBEXT): ifsmgr.vxd/ifsmgr.vxd.$(LIBEXT)
+	$(RM) $@ && $(LN_S) ifsmgr.vxd/ifsmgr.vxd.$(LIBEXT) $@
 
-imaadp32.acm.so: msacm/imaadp32/imaadp32.acm.so
-	$(RM) $@ && $(LN_S) msacm/imaadp32/imaadp32.acm.so $@
+imaadp32.acm.$(LIBEXT): msacm/imaadp32/imaadp32.acm.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msacm/imaadp32/imaadp32.acm.$(LIBEXT) $@
 
-imagehlp.dll.so: imagehlp/imagehlp.dll.so
-	$(RM) $@ && $(LN_S) imagehlp/imagehlp.dll.so $@
+imagehlp.dll.$(LIBEXT): imagehlp/imagehlp.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) imagehlp/imagehlp.dll.$(LIBEXT) $@
 
-imm32.dll.so: imm32/imm32.dll.so
-	$(RM) $@ && $(LN_S) imm32/imm32.dll.so $@
+imm32.dll.$(LIBEXT): imm32/imm32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) imm32/imm32.dll.$(LIBEXT) $@
 
-imm.dll.so : imm32.dll.so
-	$(RM) $@ && $(LN_S) imm32.dll.so $@
+imm.dll.$(LIBEXT) : imm32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) imm32.dll.$(LIBEXT) $@
 
-iphlpapi.dll.so: iphlpapi/iphlpapi.dll.so
-	$(RM) $@ && $(LN_S) iphlpapi/iphlpapi.dll.so $@
+iphlpapi.dll.$(LIBEXT): iphlpapi/iphlpapi.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) iphlpapi/iphlpapi.dll.$(LIBEXT) $@
 
-itss.dll.so: itss/itss.dll.so
-	$(RM) $@ && $(LN_S) itss/itss.dll.so $@
+itss.dll.$(LIBEXT): itss/itss.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) itss/itss.dll.$(LIBEXT) $@
 
-joystick.drv.so: winmm/joystick/joystick.drv.so
-	$(RM) $@ && $(LN_S) winmm/joystick/joystick.drv.so $@
+joystick.drv.$(LIBEXT): winmm/joystick/joystick.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/joystick/joystick.drv.$(LIBEXT) $@
 
-kernel32.dll.so: kernel/kernel32.dll.so
-	$(RM) $@ && $(LN_S) kernel/kernel32.dll.so $@
+kernel32.dll.$(LIBEXT): kernel/kernel32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) kernel/kernel32.dll.$(LIBEXT) $@
 
-comm.drv.so krnl386.exe.so stress.dll.so \
-  system.drv.so toolhelp.dll.so win87em.dll.so \
-  windebug.dll.so : kernel32.dll.so
-	$(RM) $@ && $(LN_S) kernel32.dll.so $@
+comm.drv.$(LIBEXT) krnl386.exe.$(LIBEXT) stress.dll.$(LIBEXT) \
+  system.drv.$(LIBEXT) toolhelp.dll.$(LIBEXT) win87em.dll.$(LIBEXT) \
+  windebug.dll.$(LIBEXT) : kernel32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) kernel32.dll.$(LIBEXT) $@
 
-lz32.dll.so: lzexpand/lz32.dll.so
-	$(RM) $@ && $(LN_S) lzexpand/lz32.dll.so $@
+lz32.dll.$(LIBEXT): lzexpand/lz32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) lzexpand/lz32.dll.$(LIBEXT) $@
 
-lzexpand.dll.so : lz32.dll.so
-	$(RM) $@ && $(LN_S) lz32.dll.so $@
+lzexpand.dll.$(LIBEXT) : lz32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) lz32.dll.$(LIBEXT) $@
 
-mapi32.dll.so: mapi32/mapi32.dll.so
-	$(RM) $@ && $(LN_S) mapi32/mapi32.dll.so $@
+mapi32.dll.$(LIBEXT): mapi32/mapi32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) mapi32/mapi32.dll.$(LIBEXT) $@
 
-mcianim.drv.so: winmm/mcianim/mcianim.drv.so
-	$(RM) $@ && $(LN_S) winmm/mcianim/mcianim.drv.so $@
+mcianim.drv.$(LIBEXT): winmm/mcianim/mcianim.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/mcianim/mcianim.drv.$(LIBEXT) $@
 
-mciavi.drv.so: winmm/mciavi/mciavi.drv.so
-	$(RM) $@ && $(LN_S) winmm/mciavi/mciavi.drv.so $@
+mciavi.drv.$(LIBEXT): winmm/mciavi/mciavi.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/mciavi/mciavi.drv.$(LIBEXT) $@
 
-mcicda.drv.so: winmm/mcicda/mcicda.drv.so
-	$(RM) $@ && $(LN_S) winmm/mcicda/mcicda.drv.so $@
+mcicda.drv.$(LIBEXT): winmm/mcicda/mcicda.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/mcicda/mcicda.drv.$(LIBEXT) $@
 
-mciseq.drv.so: winmm/mciseq/mciseq.drv.so
-	$(RM) $@ && $(LN_S) winmm/mciseq/mciseq.drv.so $@
+mciseq.drv.$(LIBEXT): winmm/mciseq/mciseq.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/mciseq/mciseq.drv.$(LIBEXT) $@
 
-mciwave.drv.so: winmm/mciwave/mciwave.drv.so
-	$(RM) $@ && $(LN_S) winmm/mciwave/mciwave.drv.so $@
+mciwave.drv.$(LIBEXT): winmm/mciwave/mciwave.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/mciwave/mciwave.drv.$(LIBEXT) $@
 
-midimap.drv.so: winmm/midimap/midimap.drv.so
-	$(RM) $@ && $(LN_S) winmm/midimap/midimap.drv.so $@
+midimap.drv.$(LIBEXT): winmm/midimap/midimap.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/midimap/midimap.drv.$(LIBEXT) $@
 
-mlang.dll.so: mlang/mlang.dll.so
-	$(RM) $@ && $(LN_S) mlang/mlang.dll.so $@
+mlang.dll.$(LIBEXT): mlang/mlang.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) mlang/mlang.dll.$(LIBEXT) $@
 
-mmdevldr.vxd.so: mmdevldr.vxd/mmdevldr.vxd.so
-	$(RM) $@ && $(LN_S) mmdevldr.vxd/mmdevldr.vxd.so $@
+mmdevldr.vxd.$(LIBEXT): mmdevldr.vxd/mmdevldr.vxd.$(LIBEXT)
+	$(RM) $@ && $(LN_S) mmdevldr.vxd/mmdevldr.vxd.$(LIBEXT) $@
 
-monodebg.vxd.so: monodebg.vxd/monodebg.vxd.so
-	$(RM) $@ && $(LN_S) monodebg.vxd/monodebg.vxd.so $@
+monodebg.vxd.$(LIBEXT): monodebg.vxd/monodebg.vxd.$(LIBEXT)
+	$(RM) $@ && $(LN_S) monodebg.vxd/monodebg.vxd.$(LIBEXT) $@
 
-mpr.dll.so: mpr/mpr.dll.so
-	$(RM) $@ && $(LN_S) mpr/mpr.dll.so $@
+mpr.dll.$(LIBEXT): mpr/mpr.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) mpr/mpr.dll.$(LIBEXT) $@
 
-msacm.drv.so: winmm/wavemap/msacm.drv.so
-	$(RM) $@ && $(LN_S) winmm/wavemap/msacm.drv.so $@
+msacm.drv.$(LIBEXT): winmm/wavemap/msacm.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/wavemap/msacm.drv.$(LIBEXT) $@
 
-msacm32.dll.so: msacm/msacm32.dll.so
-	$(RM) $@ && $(LN_S) msacm/msacm32.dll.so $@
+msacm32.dll.$(LIBEXT): msacm/msacm32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msacm/msacm32.dll.$(LIBEXT) $@
 
-msacm.dll.so : msacm32.dll.so
-	$(RM) $@ && $(LN_S) msacm32.dll.so $@
+msacm.dll.$(LIBEXT) : msacm32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msacm32.dll.$(LIBEXT) $@
 
-msadp32.acm.so: msacm/msadp32/msadp32.acm.so
-	$(RM) $@ && $(LN_S) msacm/msadp32/msadp32.acm.so $@
+msadp32.acm.$(LIBEXT): msacm/msadp32/msadp32.acm.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msacm/msadp32/msadp32.acm.$(LIBEXT) $@
 
-msdmo.dll.so: msdmo/msdmo.dll.so
-	$(RM) $@ && $(LN_S) msdmo/msdmo.dll.so $@
+msdmo.dll.$(LIBEXT): msdmo/msdmo.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msdmo/msdmo.dll.$(LIBEXT) $@
 
-msg711.acm.so: msacm/msg711/msg711.acm.so
-	$(RM) $@ && $(LN_S) msacm/msg711/msg711.acm.so $@
+msg711.acm.$(LIBEXT): msacm/msg711/msg711.acm.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msacm/msg711/msg711.acm.$(LIBEXT) $@
 
-mshtml.dll.so: mshtml/mshtml.dll.so
-	$(RM) $@ && $(LN_S) mshtml/mshtml.dll.so $@
+mshtml.dll.$(LIBEXT): mshtml/mshtml.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) mshtml/mshtml.dll.$(LIBEXT) $@
 
-msi.dll.so: msi/msi.dll.so
-	$(RM) $@ && $(LN_S) msi/msi.dll.so $@
+msi.dll.$(LIBEXT): msi/msi.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msi/msi.dll.$(LIBEXT) $@
 
-msimg32.dll.so: msimg32/msimg32.dll.so
-	$(RM) $@ && $(LN_S) msimg32/msimg32.dll.so $@
+msimg32.dll.$(LIBEXT): msimg32/msimg32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msimg32/msimg32.dll.$(LIBEXT) $@
 
-msisys.ocx.so: msisys/msisys.ocx.so
-	$(RM) $@ && $(LN_S) msisys/msisys.ocx.so $@
+msisys.ocx.$(LIBEXT): msisys/msisys.ocx.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msisys/msisys.ocx.$(LIBEXT) $@
 
-msnet32.dll.so: msnet32/msnet32.dll.so
-	$(RM) $@ && $(LN_S) msnet32/msnet32.dll.so $@
+msnet32.dll.$(LIBEXT): msnet32/msnet32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msnet32/msnet32.dll.$(LIBEXT) $@
 
-msrle32.dll.so: msrle32/msrle32.dll.so
-	$(RM) $@ && $(LN_S) msrle32/msrle32.dll.so $@
+msrle32.dll.$(LIBEXT): msrle32/msrle32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msrle32/msrle32.dll.$(LIBEXT) $@
 
-msvcrt.dll.so: msvcrt/msvcrt.dll.so
-	$(RM) $@ && $(LN_S) msvcrt/msvcrt.dll.so $@
+msvcrt.dll.$(LIBEXT): msvcrt/msvcrt.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msvcrt/msvcrt.dll.$(LIBEXT) $@
 
-msvcrt20.dll.so: msvcrt20/msvcrt20.dll.so
-	$(RM) $@ && $(LN_S) msvcrt20/msvcrt20.dll.so $@
+msvcrt20.dll.$(LIBEXT): msvcrt20/msvcrt20.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msvcrt20/msvcrt20.dll.$(LIBEXT) $@
 
-msvcrt40.dll.so: msvcrt40/msvcrt40.dll.so
-	$(RM) $@ && $(LN_S) msvcrt40/msvcrt40.dll.so $@
+msvcrt40.dll.$(LIBEXT): msvcrt40/msvcrt40.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msvcrt40/msvcrt40.dll.$(LIBEXT) $@
 
-msvcrtd.dll.so: msvcrtd/msvcrtd.dll.so
-	$(RM) $@ && $(LN_S) msvcrtd/msvcrtd.dll.so $@
+msvcrtd.dll.$(LIBEXT): msvcrtd/msvcrtd.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msvcrtd/msvcrtd.dll.$(LIBEXT) $@
 
-msvfw32.dll.so: msvideo/msvfw32.dll.so
-	$(RM) $@ && $(LN_S) msvideo/msvfw32.dll.so $@
+msvfw32.dll.$(LIBEXT): msvideo/msvfw32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msvideo/msvfw32.dll.$(LIBEXT) $@
 
-msvideo.dll.so : msvfw32.dll.so
-	$(RM) $@ && $(LN_S) msvfw32.dll.so $@
+msvideo.dll.$(LIBEXT) : msvfw32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msvfw32.dll.$(LIBEXT) $@
 
-msvidc32.dll.so: msvidc32/msvidc32.dll.so
-	$(RM) $@ && $(LN_S) msvidc32/msvidc32.dll.so $@
+msvidc32.dll.$(LIBEXT): msvidc32/msvidc32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msvidc32/msvidc32.dll.$(LIBEXT) $@
 
-mswsock.dll.so: mswsock/mswsock.dll.so
-	$(RM) $@ && $(LN_S) mswsock/mswsock.dll.so $@
+mswsock.dll.$(LIBEXT): mswsock/mswsock.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) mswsock/mswsock.dll.$(LIBEXT) $@
 
-netapi32.dll.so: netapi32/netapi32.dll.so
-	$(RM) $@ && $(LN_S) netapi32/netapi32.dll.so $@
+netapi32.dll.$(LIBEXT): netapi32/netapi32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) netapi32/netapi32.dll.$(LIBEXT) $@
 
-newdev.dll.so: newdev/newdev.dll.so
-	$(RM) $@ && $(LN_S) newdev/newdev.dll.so $@
+newdev.dll.$(LIBEXT): newdev/newdev.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) newdev/newdev.dll.$(LIBEXT) $@
 
-ntdll.dll.so: ntdll/ntdll.dll.so
-	$(RM) $@ && $(LN_S) ntdll/ntdll.dll.so $@
+ntdll.dll.$(LIBEXT): ntdll/ntdll.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) ntdll/ntdll.dll.$(LIBEXT) $@
 
-odbc32.dll.so: odbc32/odbc32.dll.so
-	$(RM) $@ && $(LN_S) odbc32/odbc32.dll.so $@
+odbc32.dll.$(LIBEXT): odbc32/odbc32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) odbc32/odbc32.dll.$(LIBEXT) $@
 
-ole32.dll.so: ole32/ole32.dll.so
-	$(RM) $@ && $(LN_S) ole32/ole32.dll.so $@
+ole32.dll.$(LIBEXT): ole32/ole32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) ole32/ole32.dll.$(LIBEXT) $@
 
-compobj.dll.so ole2.dll.so ole2conv.dll.so \
-  ole2nls.dll.so ole2prox.dll.so ole2thk.dll.so \
-  storage.dll.so : ole32.dll.so
-	$(RM) $@ && $(LN_S) ole32.dll.so $@
+compobj.dll.$(LIBEXT) ole2.dll.$(LIBEXT) ole2conv.dll.$(LIBEXT) \
+  ole2nls.dll.$(LIBEXT) ole2prox.dll.$(LIBEXT) ole2thk.dll.$(LIBEXT) \
+  storage.dll.$(LIBEXT) : ole32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) ole32.dll.$(LIBEXT) $@
 
-oleacc.dll.so: oleacc/oleacc.dll.so
-	$(RM) $@ && $(LN_S) oleacc/oleacc.dll.so $@
+oleacc.dll.$(LIBEXT): oleacc/oleacc.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) oleacc/oleacc.dll.$(LIBEXT) $@
 
-oleaut32.dll.so: oleaut32/oleaut32.dll.so
-	$(RM) $@ && $(LN_S) oleaut32/oleaut32.dll.so $@
+oleaut32.dll.$(LIBEXT): oleaut32/oleaut32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) oleaut32/oleaut32.dll.$(LIBEXT) $@
 
-ole2disp.dll.so typelib.dll.so : oleaut32.dll.so
-	$(RM) $@ && $(LN_S) oleaut32.dll.so $@
+ole2disp.dll.$(LIBEXT) typelib.dll.$(LIBEXT) : oleaut32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) oleaut32.dll.$(LIBEXT) $@
 
-olecli32.dll.so: olecli/olecli32.dll.so
-	$(RM) $@ && $(LN_S) olecli/olecli32.dll.so $@
+olecli32.dll.$(LIBEXT): olecli/olecli32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) olecli/olecli32.dll.$(LIBEXT) $@
 
-olecli.dll.so : olecli32.dll.so
-	$(RM) $@ && $(LN_S) olecli32.dll.so $@
+olecli.dll.$(LIBEXT) : olecli32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) olecli32.dll.$(LIBEXT) $@
 
-oledlg.dll.so: oledlg/oledlg.dll.so
-	$(RM) $@ && $(LN_S) oledlg/oledlg.dll.so $@
+oledlg.dll.$(LIBEXT): oledlg/oledlg.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) oledlg/oledlg.dll.$(LIBEXT) $@
 
-olepro32.dll.so: olepro32/olepro32.dll.so
-	$(RM) $@ && $(LN_S) olepro32/olepro32.dll.so $@
+olepro32.dll.$(LIBEXT): olepro32/olepro32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) olepro32/olepro32.dll.$(LIBEXT) $@
 
-olesvr32.dll.so: olesvr/olesvr32.dll.so
-	$(RM) $@ && $(LN_S) olesvr/olesvr32.dll.so $@
+olesvr32.dll.$(LIBEXT): olesvr/olesvr32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) olesvr/olesvr32.dll.$(LIBEXT) $@
 
-olesvr.dll.so : olesvr32.dll.so
-	$(RM) $@ && $(LN_S) olesvr32.dll.so $@
+olesvr.dll.$(LIBEXT) : olesvr32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) olesvr32.dll.$(LIBEXT) $@
 
-opengl32.dll.so: opengl32/opengl32.dll.so
-	$(RM) $@ && $(LN_S) opengl32/opengl32.dll.so $@
+opengl32.dll.$(LIBEXT): opengl32/opengl32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) opengl32/opengl32.dll.$(LIBEXT) $@
 
-psapi.dll.so: psapi/psapi.dll.so
-	$(RM) $@ && $(LN_S) psapi/psapi.dll.so $@
+psapi.dll.$(LIBEXT): psapi/psapi.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) psapi/psapi.dll.$(LIBEXT) $@
 
-qcap.dll.so: qcap/qcap.dll.so
-	$(RM) $@ && $(LN_S) qcap/qcap.dll.so $@
+qcap.dll.$(LIBEXT): qcap/qcap.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) qcap/qcap.dll.$(LIBEXT) $@
 
-quartz.dll.so: quartz/quartz.dll.so
-	$(RM) $@ && $(LN_S) quartz/quartz.dll.so $@
+quartz.dll.$(LIBEXT): quartz/quartz.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) quartz/quartz.dll.$(LIBEXT) $@
 
-rasapi32.dll.so: rasapi32/rasapi32.dll.so
-	$(RM) $@ && $(LN_S) rasapi32/rasapi32.dll.so $@
+rasapi32.dll.$(LIBEXT): rasapi32/rasapi32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) rasapi32/rasapi32.dll.$(LIBEXT) $@
 
-rasapi16.dll.so : rasapi32.dll.so
-	$(RM) $@ && $(LN_S) rasapi32.dll.so $@
+rasapi16.dll.$(LIBEXT) : rasapi32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) rasapi32.dll.$(LIBEXT) $@
 
-riched32.dll.so: richedit/riched32.dll.so
-	$(RM) $@ && $(LN_S) richedit/riched32.dll.so $@
+riched32.dll.$(LIBEXT): richedit/riched32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) richedit/riched32.dll.$(LIBEXT) $@
 
-rpcrt4.dll.so: rpcrt4/rpcrt4.dll.so
-	$(RM) $@ && $(LN_S) rpcrt4/rpcrt4.dll.so $@
+rpcrt4.dll.$(LIBEXT): rpcrt4/rpcrt4.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) rpcrt4/rpcrt4.dll.$(LIBEXT) $@
 
-rsabase.dll.so: rsabase/rsabase.dll.so
-	$(RM) $@ && $(LN_S) rsabase/rsabase.dll.so $@
+rsabase.dll.$(LIBEXT): rsabase/rsabase.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) rsabase/rsabase.dll.$(LIBEXT) $@
 
-secur32.dll.so: secur32/secur32.dll.so
-	$(RM) $@ && $(LN_S) secur32/secur32.dll.so $@
+secur32.dll.$(LIBEXT): secur32/secur32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) secur32/secur32.dll.$(LIBEXT) $@
 
-serialui.dll.so: serialui/serialui.dll.so
-	$(RM) $@ && $(LN_S) serialui/serialui.dll.so $@
+serialui.dll.$(LIBEXT): serialui/serialui.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) serialui/serialui.dll.$(LIBEXT) $@
 
-setupapi.dll.so: setupapi/setupapi.dll.so
-	$(RM) $@ && $(LN_S) setupapi/setupapi.dll.so $@
+setupapi.dll.$(LIBEXT): setupapi/setupapi.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) setupapi/setupapi.dll.$(LIBEXT) $@
 
-setupx.dll.so : setupapi.dll.so
-	$(RM) $@ && $(LN_S) setupapi.dll.so $@
+setupx.dll.$(LIBEXT) : setupapi.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) setupapi.dll.$(LIBEXT) $@
 
-shdocvw.dll.so: shdocvw/shdocvw.dll.so
-	$(RM) $@ && $(LN_S) shdocvw/shdocvw.dll.so $@
+shdocvw.dll.$(LIBEXT): shdocvw/shdocvw.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) shdocvw/shdocvw.dll.$(LIBEXT) $@
 
-shell32.dll.so: shell32/shell32.dll.so
-	$(RM) $@ && $(LN_S) shell32/shell32.dll.so $@
+shell32.dll.$(LIBEXT): shell32/shell32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) shell32/shell32.dll.$(LIBEXT) $@
 
-shell.dll.so : shell32.dll.so
-	$(RM) $@ && $(LN_S) shell32.dll.so $@
+shell.dll.$(LIBEXT) : shell32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) shell32.dll.$(LIBEXT) $@
 
-shfolder.dll.so: shfolder/shfolder.dll.so
-	$(RM) $@ && $(LN_S) shfolder/shfolder.dll.so $@
+shfolder.dll.$(LIBEXT): shfolder/shfolder.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) shfolder/shfolder.dll.$(LIBEXT) $@
 
-shlwapi.dll.so: shlwapi/shlwapi.dll.so
-	$(RM) $@ && $(LN_S) shlwapi/shlwapi.dll.so $@
+shlwapi.dll.$(LIBEXT): shlwapi/shlwapi.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) shlwapi/shlwapi.dll.$(LIBEXT) $@
 
-snmpapi.dll.so: snmpapi/snmpapi.dll.so
-	$(RM) $@ && $(LN_S) snmpapi/snmpapi.dll.so $@
+snmpapi.dll.$(LIBEXT): snmpapi/snmpapi.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) snmpapi/snmpapi.dll.$(LIBEXT) $@
 
-sti.dll.so: sti/sti.dll.so
-	$(RM) $@ && $(LN_S) sti/sti.dll.so $@
+sti.dll.$(LIBEXT): sti/sti.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) sti/sti.dll.$(LIBEXT) $@
 
-tapi32.dll.so: tapi32/tapi32.dll.so
-	$(RM) $@ && $(LN_S) tapi32/tapi32.dll.so $@
+tapi32.dll.$(LIBEXT): tapi32/tapi32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) tapi32/tapi32.dll.$(LIBEXT) $@
 
-ttydrv.dll.so: ttydrv/ttydrv.dll.so
-	$(RM) $@ && $(LN_S) ttydrv/ttydrv.dll.so $@
+ttydrv.dll.$(LIBEXT): ttydrv/ttydrv.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) ttydrv/ttydrv.dll.$(LIBEXT) $@
 
-twain_32.dll.so: twain/twain_32.dll.so
-	$(RM) $@ && $(LN_S) twain/twain_32.dll.so $@
+twain_32.dll.$(LIBEXT): twain/twain_32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) twain/twain_32.dll.$(LIBEXT) $@
 
-twain.dll.so : twain_32.dll.so
-	$(RM) $@ && $(LN_S) twain_32.dll.so $@
+twain.dll.$(LIBEXT) : twain_32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) twain_32.dll.$(LIBEXT) $@
 
-unicows.dll.so: unicows/unicows.dll.so
-	$(RM) $@ && $(LN_S) unicows/unicows.dll.so $@
+unicows.dll.$(LIBEXT): unicows/unicows.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) unicows/unicows.dll.$(LIBEXT) $@
 
-url.dll.so: url/url.dll.so
-	$(RM) $@ && $(LN_S) url/url.dll.so $@
+url.dll.$(LIBEXT): url/url.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) url/url.dll.$(LIBEXT) $@
 
-urlmon.dll.so: urlmon/urlmon.dll.so
-	$(RM) $@ && $(LN_S) urlmon/urlmon.dll.so $@
+urlmon.dll.$(LIBEXT): urlmon/urlmon.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) urlmon/urlmon.dll.$(LIBEXT) $@
 
-user32.dll.so: user/user32.dll.so
-	$(RM) $@ && $(LN_S) user/user32.dll.so $@
+user32.dll.$(LIBEXT): user/user32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) user/user32.dll.$(LIBEXT) $@
 
-ddeml.dll.so display.drv.so keyboard.drv.so \
-  mouse.drv.so user.exe.so : user32.dll.so
-	$(RM) $@ && $(LN_S) user32.dll.so $@
+ddeml.dll.$(LIBEXT) display.drv.$(LIBEXT) keyboard.drv.$(LIBEXT) \
+  mouse.drv.$(LIBEXT) user.exe.$(LIBEXT) : user32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) user32.dll.$(LIBEXT) $@
 
-uxtheme.dll.so: uxtheme/uxtheme.dll.so
-	$(RM) $@ && $(LN_S) uxtheme/uxtheme.dll.so $@
+uxtheme.dll.$(LIBEXT): uxtheme/uxtheme.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) uxtheme/uxtheme.dll.$(LIBEXT) $@
 
-vdhcp.vxd.so: vdhcp.vxd/vdhcp.vxd.so
-	$(RM) $@ && $(LN_S) vdhcp.vxd/vdhcp.vxd.so $@
+vdhcp.vxd.$(LIBEXT): vdhcp.vxd/vdhcp.vxd.$(LIBEXT)
+	$(RM) $@ && $(LN_S) vdhcp.vxd/vdhcp.vxd.$(LIBEXT) $@
 
-vdmdbg.dll.so: vdmdbg/vdmdbg.dll.so
-	$(RM) $@ && $(LN_S) vdmdbg/vdmdbg.dll.so $@
+vdmdbg.dll.$(LIBEXT): vdmdbg/vdmdbg.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) vdmdbg/vdmdbg.dll.$(LIBEXT) $@
 
-version.dll.so: version/version.dll.so
-	$(RM) $@ && $(LN_S) version/version.dll.so $@
+version.dll.$(LIBEXT): version/version.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) version/version.dll.$(LIBEXT) $@
 
-ver.dll.so : version.dll.so
-	$(RM) $@ && $(LN_S) version.dll.so $@
+ver.dll.$(LIBEXT) : version.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) version.dll.$(LIBEXT) $@
 
-vmm.vxd.so: vmm.vxd/vmm.vxd.so
-	$(RM) $@ && $(LN_S) vmm.vxd/vmm.vxd.so $@
+vmm.vxd.$(LIBEXT): vmm.vxd/vmm.vxd.$(LIBEXT)
+	$(RM) $@ && $(LN_S) vmm.vxd/vmm.vxd.$(LIBEXT) $@
 
-vnbt.vxd.so: vnbt.vxd/vnbt.vxd.so
-	$(RM) $@ && $(LN_S) vnbt.vxd/vnbt.vxd.so $@
+vnbt.vxd.$(LIBEXT): vnbt.vxd/vnbt.vxd.$(LIBEXT)
+	$(RM) $@ && $(LN_S) vnbt.vxd/vnbt.vxd.$(LIBEXT) $@
 
-vnetbios.vxd.so: vnetbios.vxd/vnetbios.vxd.so
-	$(RM) $@ && $(LN_S) vnetbios.vxd/vnetbios.vxd.so $@
+vnetbios.vxd.$(LIBEXT): vnetbios.vxd/vnetbios.vxd.$(LIBEXT)
+	$(RM) $@ && $(LN_S) vnetbios.vxd/vnetbios.vxd.$(LIBEXT) $@
 
-vtdapi.vxd.so: vtdapi.vxd/vtdapi.vxd.so
-	$(RM) $@ && $(LN_S) vtdapi.vxd/vtdapi.vxd.so $@
+vtdapi.vxd.$(LIBEXT): vtdapi.vxd/vtdapi.vxd.$(LIBEXT)
+	$(RM) $@ && $(LN_S) vtdapi.vxd/vtdapi.vxd.$(LIBEXT) $@
 
-vwin32.vxd.so: vwin32.vxd/vwin32.vxd.so
-	$(RM) $@ && $(LN_S) vwin32.vxd/vwin32.vxd.so $@
+vwin32.vxd.$(LIBEXT): vwin32.vxd/vwin32.vxd.$(LIBEXT)
+	$(RM) $@ && $(LN_S) vwin32.vxd/vwin32.vxd.$(LIBEXT) $@
 
-w32skrnl.dll.so: win32s/w32skrnl.dll.so
-	$(RM) $@ && $(LN_S) win32s/w32skrnl.dll.so $@
+w32skrnl.dll.$(LIBEXT): win32s/w32skrnl.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) win32s/w32skrnl.dll.$(LIBEXT) $@
 
-w32sys.dll.so win32s16.dll.so : w32skrnl.dll.so
-	$(RM) $@ && $(LN_S) w32skrnl.dll.so $@
+w32sys.dll.$(LIBEXT) win32s16.dll.$(LIBEXT) : w32skrnl.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) w32skrnl.dll.$(LIBEXT) $@
 
-winealsa.drv.so: winmm/winealsa/winealsa.drv.so
-	$(RM) $@ && $(LN_S) winmm/winealsa/winealsa.drv.so $@
+winealsa.drv.$(LIBEXT): winmm/winealsa/winealsa.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/winealsa/winealsa.drv.$(LIBEXT) $@
 
-winearts.drv.so: winmm/winearts/winearts.drv.so
-	$(RM) $@ && $(LN_S) winmm/winearts/winearts.drv.so $@
+winearts.drv.$(LIBEXT): winmm/winearts/winearts.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/winearts/winearts.drv.$(LIBEXT) $@
 
-wineaudioio.drv.so: winmm/wineaudioio/wineaudioio.drv.so
-	$(RM) $@ && $(LN_S) winmm/wineaudioio/wineaudioio.drv.so $@
+wineaudioio.drv.$(LIBEXT): winmm/wineaudioio/wineaudioio.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/wineaudioio/wineaudioio.drv.$(LIBEXT) $@
 
-wined3d.dll.so: wined3d/wined3d.dll.so
-	$(RM) $@ && $(LN_S) wined3d/wined3d.dll.so $@
+wined3d.dll.$(LIBEXT): wined3d/wined3d.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) wined3d/wined3d.dll.$(LIBEXT) $@
 
-winedos.dll.so: winedos/winedos.dll.so
-	$(RM) $@ && $(LN_S) winedos/winedos.dll.so $@
+winedos.dll.$(LIBEXT): winedos/winedos.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winedos/winedos.dll.$(LIBEXT) $@
 
-wprocs.dll.so : winedos.dll.so
-	$(RM) $@ && $(LN_S) winedos.dll.so $@
+wprocs.dll.$(LIBEXT) : winedos.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winedos.dll.$(LIBEXT) $@
 
-winejack.drv.so: winmm/winejack/winejack.drv.so
-	$(RM) $@ && $(LN_S) winmm/winejack/winejack.drv.so $@
+winejack.drv.$(LIBEXT): winmm/winejack/winejack.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/winejack/winejack.drv.$(LIBEXT) $@
 
-winemp3.acm.so: msacm/winemp3/winemp3.acm.so
-	$(RM) $@ && $(LN_S) msacm/winemp3/winemp3.acm.so $@
+winemp3.acm.$(LIBEXT): msacm/winemp3/winemp3.acm.$(LIBEXT)
+	$(RM) $@ && $(LN_S) msacm/winemp3/winemp3.acm.$(LIBEXT) $@
 
-winenas.drv.so: winmm/winenas/winenas.drv.so
-	$(RM) $@ && $(LN_S) winmm/winenas/winenas.drv.so $@
+winenas.drv.$(LIBEXT): winmm/winenas/winenas.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/winenas/winenas.drv.$(LIBEXT) $@
 
-wineoss.drv.so: winmm/wineoss/wineoss.drv.so
-	$(RM) $@ && $(LN_S) winmm/wineoss/wineoss.drv.so $@
+wineoss.drv.$(LIBEXT): winmm/wineoss/wineoss.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/wineoss/wineoss.drv.$(LIBEXT) $@
 
-wineps.dll.so: wineps/wineps.dll.so
-	$(RM) $@ && $(LN_S) wineps/wineps.dll.so $@
+wineps.dll.$(LIBEXT): wineps/wineps.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) wineps/wineps.dll.$(LIBEXT) $@
 
-wineps16.drv.so : wineps.dll.so
-	$(RM) $@ && $(LN_S) wineps.dll.so $@
+wineps16.drv.$(LIBEXT) : wineps.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) wineps.dll.$(LIBEXT) $@
 
-wininet.dll.so: wininet/wininet.dll.so
-	$(RM) $@ && $(LN_S) wininet/wininet.dll.so $@
+wininet.dll.$(LIBEXT): wininet/wininet.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) wininet/wininet.dll.$(LIBEXT) $@
 
-winmm.dll.so: winmm/winmm.dll.so
-	$(RM) $@ && $(LN_S) winmm/winmm.dll.so $@
+winmm.dll.$(LIBEXT): winmm/winmm.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm/winmm.dll.$(LIBEXT) $@
 
-mmsystem.dll.so sound.dll.so : winmm.dll.so
-	$(RM) $@ && $(LN_S) winmm.dll.so $@
+mmsystem.dll.$(LIBEXT) sound.dll.$(LIBEXT) : winmm.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winmm.dll.$(LIBEXT) $@
 
-winnls32.dll.so: winnls/winnls32.dll.so
-	$(RM) $@ && $(LN_S) winnls/winnls32.dll.so $@
+winnls32.dll.$(LIBEXT): winnls/winnls32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winnls/winnls32.dll.$(LIBEXT) $@
 
-winnls.dll.so : winnls32.dll.so
-	$(RM) $@ && $(LN_S) winnls32.dll.so $@
+winnls.dll.$(LIBEXT) : winnls32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winnls32.dll.$(LIBEXT) $@
 
-winspool.drv.so: winspool/winspool.drv.so
-	$(RM) $@ && $(LN_S) winspool/winspool.drv.so $@
+winspool.drv.$(LIBEXT): winspool/winspool.drv.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winspool/winspool.drv.$(LIBEXT) $@
 
-wintab32.dll.so: wintab32/wintab32.dll.so
-	$(RM) $@ && $(LN_S) wintab32/wintab32.dll.so $@
+wintab32.dll.$(LIBEXT): wintab32/wintab32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) wintab32/wintab32.dll.$(LIBEXT) $@
 
-wintab.dll.so : wintab32.dll.so
-	$(RM) $@ && $(LN_S) wintab32.dll.so $@
+wintab.dll.$(LIBEXT) : wintab32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) wintab32.dll.$(LIBEXT) $@
 
-wintrust.dll.so: wintrust/wintrust.dll.so
-	$(RM) $@ && $(LN_S) wintrust/wintrust.dll.so $@
+wintrust.dll.$(LIBEXT): wintrust/wintrust.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) wintrust/wintrust.dll.$(LIBEXT) $@
 
-wnaspi32.dll.so: winaspi/wnaspi32.dll.so
-	$(RM) $@ && $(LN_S) winaspi/wnaspi32.dll.so $@
+wnaspi32.dll.$(LIBEXT): winaspi/wnaspi32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winaspi/wnaspi32.dll.$(LIBEXT) $@
 
-winaspi.dll.so : wnaspi32.dll.so
-	$(RM) $@ && $(LN_S) wnaspi32.dll.so $@
+winaspi.dll.$(LIBEXT) : wnaspi32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) wnaspi32.dll.$(LIBEXT) $@
 
-wow32.dll.so: wow32/wow32.dll.so
-	$(RM) $@ && $(LN_S) wow32/wow32.dll.so $@
+wow32.dll.$(LIBEXT): wow32/wow32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) wow32/wow32.dll.$(LIBEXT) $@
 
-ws2_32.dll.so: winsock/ws2_32.dll.so
-	$(RM) $@ && $(LN_S) winsock/ws2_32.dll.so $@
+ws2_32.dll.$(LIBEXT): winsock/ws2_32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) winsock/ws2_32.dll.$(LIBEXT) $@
 
-winsock.dll.so : ws2_32.dll.so
-	$(RM) $@ && $(LN_S) ws2_32.dll.so $@
+winsock.dll.$(LIBEXT) : ws2_32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) ws2_32.dll.$(LIBEXT) $@
 
-wsock32.dll.so: wsock32/wsock32.dll.so
-	$(RM) $@ && $(LN_S) wsock32/wsock32.dll.so $@
+wsock32.dll.$(LIBEXT): wsock32/wsock32.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) wsock32/wsock32.dll.$(LIBEXT) $@
 
-x11drv.dll.so: x11drv/x11drv.dll.so
-	$(RM) $@ && $(LN_S) x11drv/x11drv.dll.so $@
+x11drv.dll.$(LIBEXT): x11drv/x11drv.dll.$(LIBEXT)
+	$(RM) $@ && $(LN_S) x11drv/x11drv.dll.$(LIBEXT) $@
 
 libdxerr8.a: dxerr8/libdxerr8.a
 	$(RM) $@ && $(LN_S) dxerr8/libdxerr8.a $@
@@ -1849,159 +1849,159 @@
 
 # Map library name to the corresponding directory
 
-advapi32/advapi32.dll.so: advapi32
-amstream/amstream.dll.so: amstream
-atl/atl.dll.so: atl
-avicap32/avicap32.dll.so: avicap32
-avifil32/avifil32.dll.so: avifil32
-cabinet/cabinet.dll.so: cabinet
-capi2032/capi2032.dll.so: capi2032
-cards/cards.dll.so: cards
-cfgmgr32/cfgmgr32.dll.so: cfgmgr32
-comcat/comcat.dll.so: comcat
-comctl32/comctl32.dll.so: comctl32
-commdlg/comdlg32.dll.so: commdlg
-crtdll/crtdll.dll.so: crtdll
-crypt32/crypt32.dll.so: crypt32
-ctl3d/ctl3d32.dll.so: ctl3d
-d3d8/d3d8.dll.so: d3d8
-d3d9/d3d9.dll.so: d3d9
-d3dim/d3dim.dll.so: d3dim
-d3drm/d3drm.dll.so: d3drm
-d3dx8/d3dx8.dll.so: d3dx8
-d3dxof/d3dxof.dll.so: d3dxof
-dbghelp/dbghelp.dll.so: dbghelp
-dciman32/dciman32.dll.so: dciman32
-ddraw/ddraw.dll.so: ddraw
-devenum/devenum.dll.so: devenum
-dinput/dinput.dll.so: dinput
-dinput8/dinput8.dll.so: dinput8
-dmband/dmband.dll.so: dmband
-dmcompos/dmcompos.dll.so: dmcompos
-dmime/dmime.dll.so: dmime
-dmloader/dmloader.dll.so: dmloader
-dmscript/dmscript.dll.so: dmscript
-dmstyle/dmstyle.dll.so: dmstyle
-dmsynth/dmsynth.dll.so: dmsynth
-dmusic/dmusic.dll.so: dmusic
-dmusic32/dmusic32.dll.so: dmusic32
-dplay/dplay.dll.so: dplay
-dplayx/dplayx.dll.so: dplayx
-dpnet/dpnet.dll.so: dpnet
-dpnhpast/dpnhpast.dll.so: dpnhpast
-dsound/dsound.dll.so: dsound
-dswave/dswave.dll.so: dswave
-dxdiagn/dxdiagn.dll.so: dxdiagn
-gdi/gdi32.dll.so: gdi
-glu32/glu32.dll.so: glu32
-glut32/glut32.dll.so: glut32
-hhctrl.ocx/hhctrl.ocx.so: hhctrl.ocx
-iccvid/iccvid.dll.so: iccvid
-icmp/icmp.dll.so: icmp
-ifsmgr.vxd/ifsmgr.vxd.so: ifsmgr.vxd
-msacm/imaadp32/imaadp32.acm.so: msacm/imaadp32
-imagehlp/imagehlp.dll.so: imagehlp
-imm32/imm32.dll.so: imm32
-iphlpapi/iphlpapi.dll.so: iphlpapi
-itss/itss.dll.so: itss
-winmm/joystick/joystick.drv.so: winmm/joystick
-kernel/kernel32.dll.so: kernel
-lzexpand/lz32.dll.so: lzexpand
-mapi32/mapi32.dll.so: mapi32
-winmm/mcianim/mcianim.drv.so: winmm/mcianim
-winmm/mciavi/mciavi.drv.so: winmm/mciavi
-winmm/mcicda/mcicda.drv.so: winmm/mcicda
-winmm/mciseq/mciseq.drv.so: winmm/mciseq
-winmm/mciwave/mciwave.drv.so: winmm/mciwave
-winmm/midimap/midimap.drv.so: winmm/midimap
-mlang/mlang.dll.so: mlang
-mmdevldr.vxd/mmdevldr.vxd.so: mmdevldr.vxd
-monodebg.vxd/monodebg.vxd.so: monodebg.vxd
-mpr/mpr.dll.so: mpr
-winmm/wavemap/msacm.drv.so: winmm/wavemap
-msacm/msacm32.dll.so: msacm
-msacm/msadp32/msadp32.acm.so: msacm/msadp32
-msdmo/msdmo.dll.so: msdmo
-msacm/msg711/msg711.acm.so: msacm/msg711
-mshtml/mshtml.dll.so: mshtml
-msi/msi.dll.so: msi
-msimg32/msimg32.dll.so: msimg32
-msisys/msisys.ocx.so: msisys
-msnet32/msnet32.dll.so: msnet32
-msrle32/msrle32.dll.so: msrle32
-msvcrt/msvcrt.dll.so: msvcrt
-msvcrt20/msvcrt20.dll.so: msvcrt20
-msvcrt40/msvcrt40.dll.so: msvcrt40
-msvcrtd/msvcrtd.dll.so: msvcrtd
-msvideo/msvfw32.dll.so: msvideo
-msvidc32/msvidc32.dll.so: msvidc32
-mswsock/mswsock.dll.so: mswsock
-netapi32/netapi32.dll.so: netapi32
-newdev/newdev.dll.so: newdev
-ntdll/ntdll.dll.so: ntdll
-odbc32/odbc32.dll.so: odbc32
-ole32/ole32.dll.so: ole32
-oleacc/oleacc.dll.so: oleacc
-oleaut32/oleaut32.dll.so: oleaut32
-olecli/olecli32.dll.so: olecli
-oledlg/oledlg.dll.so: oledlg
-olepro32/olepro32.dll.so: olepro32
-olesvr/olesvr32.dll.so: olesvr
-opengl32/opengl32.dll.so: opengl32
-psapi/psapi.dll.so: psapi
-qcap/qcap.dll.so: qcap
-quartz/quartz.dll.so: quartz
-rasapi32/rasapi32.dll.so: rasapi32
-richedit/riched32.dll.so: richedit
-rpcrt4/rpcrt4.dll.so: rpcrt4
-rsabase/rsabase.dll.so: rsabase
-secur32/secur32.dll.so: secur32
-serialui/serialui.dll.so: serialui
-setupapi/setupapi.dll.so: setupapi
-shdocvw/shdocvw.dll.so: shdocvw
-shell32/shell32.dll.so: shell32
-shfolder/shfolder.dll.so: shfolder
-shlwapi/shlwapi.dll.so: shlwapi
-snmpapi/snmpapi.dll.so: snmpapi
-sti/sti.dll.so: sti
-tapi32/tapi32.dll.so: tapi32
-ttydrv/ttydrv.dll.so: ttydrv
-twain/twain_32.dll.so: twain
-unicows/unicows.dll.so: unicows
-url/url.dll.so: url
-urlmon/urlmon.dll.so: urlmon
-user/user32.dll.so: user
-uxtheme/uxtheme.dll.so: uxtheme
-vdhcp.vxd/vdhcp.vxd.so: vdhcp.vxd
-vdmdbg/vdmdbg.dll.so: vdmdbg
-version/version.dll.so: version
-vmm.vxd/vmm.vxd.so: vmm.vxd
-vnbt.vxd/vnbt.vxd.so: vnbt.vxd
-vnetbios.vxd/vnetbios.vxd.so: vnetbios.vxd
-vtdapi.vxd/vtdapi.vxd.so: vtdapi.vxd
-vwin32.vxd/vwin32.vxd.so: vwin32.vxd
-win32s/w32skrnl.dll.so: win32s
-winmm/winealsa/winealsa.drv.so: winmm/winealsa
-winmm/winearts/winearts.drv.so: winmm/winearts
-winmm/wineaudioio/wineaudioio.drv.so: winmm/wineaudioio
-wined3d/wined3d.dll.so: wined3d
-winedos/winedos.dll.so: winedos
-winmm/winejack/winejack.drv.so: winmm/winejack
-msacm/winemp3/winemp3.acm.so: msacm/winemp3
-winmm/winenas/winenas.drv.so: winmm/winenas
-winmm/wineoss/wineoss.drv.so: winmm/wineoss
-wineps/wineps.dll.so: wineps
-wininet/wininet.dll.so: wininet
-winmm/winmm.dll.so: winmm
-winnls/winnls32.dll.so: winnls
-winspool/winspool.drv.so: winspool
-wintab32/wintab32.dll.so: wintab32
-wintrust/wintrust.dll.so: wintrust
-winaspi/wnaspi32.dll.so: winaspi
-wow32/wow32.dll.so: wow32
-winsock/ws2_32.dll.so: winsock
-wsock32/wsock32.dll.so: wsock32
-x11drv/x11drv.dll.so: x11drv
+advapi32/advapi32.dll.$(LIBEXT): advapi32
+amstream/amstream.dll.$(LIBEXT): amstream
+atl/atl.dll.$(LIBEXT): atl
+avicap32/avicap32.dll.$(LIBEXT): avicap32
+avifil32/avifil32.dll.$(LIBEXT): avifil32
+cabinet/cabinet.dll.$(LIBEXT): cabinet
+capi2032/capi2032.dll.$(LIBEXT): capi2032
+cards/cards.dll.$(LIBEXT): cards
+cfgmgr32/cfgmgr32.dll.$(LIBEXT): cfgmgr32
+comcat/comcat.dll.$(LIBEXT): comcat
+comctl32/comctl32.dll.$(LIBEXT): comctl32
+commdlg/comdlg32.dll.$(LIBEXT): commdlg
+crtdll/crtdll.dll.$(LIBEXT): crtdll
+crypt32/crypt32.dll.$(LIBEXT): crypt32
+ctl3d/ctl3d32.dll.$(LIBEXT): ctl3d
+d3d8/d3d8.dll.$(LIBEXT): d3d8
+d3d9/d3d9.dll.$(LIBEXT): d3d9
+d3dim/d3dim.dll.$(LIBEXT): d3dim
+d3drm/d3drm.dll.$(LIBEXT): d3drm
+d3dx8/d3dx8.dll.$(LIBEXT): d3dx8
+d3dxof/d3dxof.dll.$(LIBEXT): d3dxof
+dbghelp/dbghelp.dll.$(LIBEXT): dbghelp
+dciman32/dciman32.dll.$(LIBEXT): dciman32
+ddraw/ddraw.dll.$(LIBEXT): ddraw
+devenum/devenum.dll.$(LIBEXT): devenum
+dinput/dinput.dll.$(LIBEXT): dinput
+dinput8/dinput8.dll.$(LIBEXT): dinput8
+dmband/dmband.dll.$(LIBEXT): dmband
+dmcompos/dmcompos.dll.$(LIBEXT): dmcompos
+dmime/dmime.dll.$(LIBEXT): dmime
+dmloader/dmloader.dll.$(LIBEXT): dmloader
+dmscript/dmscript.dll.$(LIBEXT): dmscript
+dmstyle/dmstyle.dll.$(LIBEXT): dmstyle
+dmsynth/dmsynth.dll.$(LIBEXT): dmsynth
+dmusic/dmusic.dll.$(LIBEXT): dmusic
+dmusic32/dmusic32.dll.$(LIBEXT): dmusic32
+dplay/dplay.dll.$(LIBEXT): dplay
+dplayx/dplayx.dll.$(LIBEXT): dplayx
+dpnet/dpnet.dll.$(LIBEXT): dpnet
+dpnhpast/dpnhpast.dll.$(LIBEXT): dpnhpast
+dsound/dsound.dll.$(LIBEXT): dsound
+dswave/dswave.dll.$(LIBEXT): dswave
+dxdiagn/dxdiagn.dll.$(LIBEXT): dxdiagn
+gdi/gdi32.dll.$(LIBEXT): gdi
+glu32/glu32.dll.$(LIBEXT): glu32
+glut32/glut32.dll.$(LIBEXT): glut32
+hhctrl.ocx/hhctrl.ocx.$(LIBEXT): hhctrl.ocx
+iccvid/iccvid.dll.$(LIBEXT): iccvid
+icmp/icmp.dll.$(LIBEXT): icmp
+ifsmgr.vxd/ifsmgr.vxd.$(LIBEXT): ifsmgr.vxd
+msacm/imaadp32/imaadp32.acm.$(LIBEXT): msacm/imaadp32
+imagehlp/imagehlp.dll.$(LIBEXT): imagehlp
+imm32/imm32.dll.$(LIBEXT): imm32
+iphlpapi/iphlpapi.dll.$(LIBEXT): iphlpapi
+itss/itss.dll.$(LIBEXT): itss
+winmm/joystick/joystick.drv.$(LIBEXT): winmm/joystick
+kernel/kernel32.dll.$(LIBEXT): kernel
+lzexpand/lz32.dll.$(LIBEXT): lzexpand
+mapi32/mapi32.dll.$(LIBEXT): mapi32
+winmm/mcianim/mcianim.drv.$(LIBEXT): winmm/mcianim
+winmm/mciavi/mciavi.drv.$(LIBEXT): winmm/mciavi
+winmm/mcicda/mcicda.drv.$(LIBEXT): winmm/mcicda
+winmm/mciseq/mciseq.drv.$(LIBEXT): winmm/mciseq
+winmm/mciwave/mciwave.drv.$(LIBEXT): winmm/mciwave
+winmm/midimap/midimap.drv.$(LIBEXT): winmm/midimap
+mlang/mlang.dll.$(LIBEXT): mlang
+mmdevldr.vxd/mmdevldr.vxd.$(LIBEXT): mmdevldr.vxd
+monodebg.vxd/monodebg.vxd.$(LIBEXT): monodebg.vxd
+mpr/mpr.dll.$(LIBEXT): mpr
+winmm/wavemap/msacm.drv.$(LIBEXT): winmm/wavemap
+msacm/msacm32.dll.$(LIBEXT): msacm
+msacm/msadp32/msadp32.acm.$(LIBEXT): msacm/msadp32
+msdmo/msdmo.dll.$(LIBEXT): msdmo
+msacm/msg711/msg711.acm.$(LIBEXT): msacm/msg711
+mshtml/mshtml.dll.$(LIBEXT): mshtml
+msi/msi.dll.$(LIBEXT): msi
+msimg32/msimg32.dll.$(LIBEXT): msimg32
+msisys/msisys.ocx.$(LIBEXT): msisys
+msnet32/msnet32.dll.$(LIBEXT): msnet32
+msrle32/msrle32.dll.$(LIBEXT): msrle32
+msvcrt/msvcrt.dll.$(LIBEXT): msvcrt
+msvcrt20/msvcrt20.dll.$(LIBEXT): msvcrt20
+msvcrt40/msvcrt40.dll.$(LIBEXT): msvcrt40
+msvcrtd/msvcrtd.dll.$(LIBEXT): msvcrtd
+msvideo/msvfw32.dll.$(LIBEXT): msvideo
+msvidc32/msvidc32.dll.$(LIBEXT): msvidc32
+mswsock/mswsock.dll.$(LIBEXT): mswsock
+netapi32/netapi32.dll.$(LIBEXT): netapi32
+newdev/newdev.dll.$(LIBEXT): newdev
+ntdll/ntdll.dll.$(LIBEXT): ntdll
+odbc32/odbc32.dll.$(LIBEXT): odbc32
+ole32/ole32.dll.$(LIBEXT): ole32
+oleacc/oleacc.dll.$(LIBEXT): oleacc
+oleaut32/oleaut32.dll.$(LIBEXT): oleaut32
+olecli/olecli32.dll.$(LIBEXT): olecli
+oledlg/oledlg.dll.$(LIBEXT): oledlg
+olepro32/olepro32.dll.$(LIBEXT): olepro32
+olesvr/olesvr32.dll.$(LIBEXT): olesvr
+opengl32/opengl32.dll.$(LIBEXT): opengl32
+psapi/psapi.dll.$(LIBEXT): psapi
+qcap/qcap.dll.$(LIBEXT): qcap
+quartz/quartz.dll.$(LIBEXT): quartz
+rasapi32/rasapi32.dll.$(LIBEXT): rasapi32
+richedit/riched32.dll.$(LIBEXT): richedit
+rpcrt4/rpcrt4.dll.$(LIBEXT): rpcrt4
+rsabase/rsabase.dll.$(LIBEXT): rsabase
+secur32/secur32.dll.$(LIBEXT): secur32
+serialui/serialui.dll.$(LIBEXT): serialui
+setupapi/setupapi.dll.$(LIBEXT): setupapi
+shdocvw/shdocvw.dll.$(LIBEXT): shdocvw
+shell32/shell32.dll.$(LIBEXT): shell32
+shfolder/shfolder.dll.$(LIBEXT): shfolder
+shlwapi/shlwapi.dll.$(LIBEXT): shlwapi
+snmpapi/snmpapi.dll.$(LIBEXT): snmpapi
+sti/sti.dll.$(LIBEXT): sti
+tapi32/tapi32.dll.$(LIBEXT): tapi32
+ttydrv/ttydrv.dll.$(LIBEXT): ttydrv
+twain/twain_32.dll.$(LIBEXT): twain
+unicows/unicows.dll.$(LIBEXT): unicows
+url/url.dll.$(LIBEXT): url
+urlmon/urlmon.dll.$(LIBEXT): urlmon
+user/user32.dll.$(LIBEXT): user
+uxtheme/uxtheme.dll.$(LIBEXT): uxtheme
+vdhcp.vxd/vdhcp.vxd.$(LIBEXT): vdhcp.vxd
+vdmdbg/vdmdbg.dll.$(LIBEXT): vdmdbg
+version/version.dll.$(LIBEXT): version
+vmm.vxd/vmm.vxd.$(LIBEXT): vmm.vxd
+vnbt.vxd/vnbt.vxd.$(LIBEXT): vnbt.vxd
+vnetbios.vxd/vnetbios.vxd.$(LIBEXT): vnetbios.vxd
+vtdapi.vxd/vtdapi.vxd.$(LIBEXT): vtdapi.vxd
+vwin32.vxd/vwin32.vxd.$(LIBEXT): vwin32.vxd
+win32s/w32skrnl.dll.$(LIBEXT): win32s
+winmm/winealsa/winealsa.drv.$(LIBEXT): winmm/winealsa
+winmm/winearts/winearts.drv.$(LIBEXT): winmm/winearts
+winmm/wineaudioio/wineaudioio.drv.$(LIBEXT): winmm/wineaudioio
+wined3d/wined3d.dll.$(LIBEXT): wined3d
+winedos/winedos.dll.$(LIBEXT): winedos
+winmm/winejack/winejack.drv.$(LIBEXT): winmm/winejack
+msacm/winemp3/winemp3.acm.$(LIBEXT): msacm/winemp3
+winmm/winenas/winenas.drv.$(LIBEXT): winmm/winenas
+winmm/wineoss/wineoss.drv.$(LIBEXT): winmm/wineoss
+wineps/wineps.dll.$(LIBEXT): wineps
+wininet/wininet.dll.$(LIBEXT): wininet
+winmm/winmm.dll.$(LIBEXT): winmm
+winnls/winnls32.dll.$(LIBEXT): winnls
+winspool/winspool.drv.$(LIBEXT): winspool
+wintab32/wintab32.dll.$(LIBEXT): wintab32
+wintrust/wintrust.dll.$(LIBEXT): wintrust
+winaspi/wnaspi32.dll.$(LIBEXT): winaspi
+wow32/wow32.dll.$(LIBEXT): wow32
+winsock/ws2_32.dll.$(LIBEXT): winsock
+wsock32/wsock32.dll.$(LIBEXT): wsock32
+x11drv/x11drv.dll.$(LIBEXT): x11drv
 dxerr8/libdxerr8.a: dxerr8
 dxerr9/libdxerr9.a: dxerr9
 dxguid/libdxguid.a: dxguid
diff -ru clean/wine-20040914/libs/Makefile.in wine-20040914/libs/Makefile.in
--- clean/wine-20040914/libs/Makefile.in	2004-04-30 22:41:01.000000000 -0400
+++ wine-20040914/libs/Makefile.in	2004-09-17 15:31:21.000000000 -0400
@@ -22,7 +22,7 @@
 
 @MAKE_RULES@
 
-ALL_SYMLINKS =  $(SYMLINKS) $(SYMLINKS:.so=.so.1) $(SYMLINKS:.dylib=.1.dylib) $(SYMLINKS:.dll=.a)
+ALL_SYMLINKS =  $(SYMLINKS) $(SYMLINKS:.so=.so.1) $(SYMLINKS:.sl=.sl.1) $(SYMLINKS:.dylib=.1.dylib) $(SYMLINKS:.dll=.a)
 
 all: $(SUBDIRS) $(ALL_SYMLINKS)
 
@@ -34,10 +34,10 @@
 
 # Symlinks
 
-libwine.so libwine.so.1 libwine.dll libwine.dylib libwine.1.dylib libwine.a: wine/libwine.$(LIBEXT)
+libwine.$(LIBEXT) libwine.$(LIBEXT).1 libwine.dll libwine.dylib libwine.1.dylib libwine.a: wine/libwine.$(LIBEXT)
 	$(RM) $@ && $(LN_S) wine/$@ $@
 
-libwine_unicode.so libwine_unicode.so.1 libwine_unicode.dll libwine_unicode.dylib libwine_unicode.1.dylib libwine_unicode.a: unicode/libwine_unicode.$(LIBEXT)
+libwine_unicode.$(LIBEXT) libwine_unicode.$(LIBEXT).1 libwine_unicode.dll libwine_unicode.dylib libwine_unicode.1.dylib libwine_unicode.a: unicode/libwine_unicode.$(LIBEXT)
 	$(RM) $@ && $(LN_S) unicode/$@ $@
 
 libwine_port.a: port/libwine_port.a
diff -ru clean/wine-20040914/libs/Makelib.rules.in wine-20040914/libs/Makelib.rules.in
--- clean/wine-20040914/libs/Makelib.rules.in	2004-08-12 16:02:11.000000000 -0400
+++ wine-20040914/libs/Makelib.rules.in	2004-09-17 15:23:29.000000000 -0400
@@ -12,18 +12,18 @@
 LIBEXT    = @LIBEXT@
 LIBNAME   = lib$(LIBRARY)
 DEFNAME   = $(LIBRARY).def
-SONAME    = $(LIBNAME).so.$(SOVERSION)
+SONAME    = $(LIBNAME).$(LIBEXT).$(SOVERSION)
 MODULE    = $(LIBNAME).$(LIBEXT)
 
 all: $(MODULE) $(MODULE:.dll=.a)
 
 @MAKE_RULES@
 
-$(LIBNAME).so.$(SOVERSION): $(OBJS) $(VERSCRIPT) Makefile.in
+$(LIBNAME).$(LIBEXT).$(SOVERSION): $(OBJS) $(VERSCRIPT) Makefile.in
 	$(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@
 
-$(LIBNAME).so: $(LIBNAME).so.$(SOVERSION)
-	$(RM) $@ && $(LN_S) $(LIBNAME).so.$(SOVERSION) $@
+$(LIBNAME).$(LIBEXT): $(LIBNAME).$(LIBEXT).$(SOVERSION)
+	$(RM) $@ && $(LN_S) $(LIBNAME).$(LIBEXT).$(SOVERSION) $@
 
 $(LIBNAME).a: $(DEFNAME)
 	$(DLLTOOL) -l $@ -d $(SRCDIR)/$(DEFNAME)
@@ -39,9 +39,9 @@
 
 .PHONY: install-lib-so install-lib-dll install-lib-dylib install-dev-so install-dev-dll install-dev-dylib
 
-install-lib-so: $(LIBNAME).so.$(SOVERSION) dummy
+install-lib-so: $(LIBNAME).$(LIBEXT).$(SOVERSION) dummy
 	$(MKINSTALLDIRS) $(libdir)
-	$(INSTALL_PROGRAM) $(LIBNAME).so.$(SOVERSION) $(libdir)/$(LIBNAME).so.$(SOVERSION)
+	$(INSTALL_PROGRAM) $(LIBNAME).$(LIBEXT).$(SOVERSION) $(libdir)/$(LIBNAME).$(LIBEXT).$(SOVERSION)
 
 install-lib-dll: $(LIBNAME).dll dummy
 	$(MKINSTALLDIRS) $(libdir)
@@ -53,7 +53,7 @@
 
 install-dev-so: dummy
 	$(MKINSTALLDIRS) $(libdir)
-	cd $(libdir) && $(RM) $(LIBNAME).so && $(LN_S) $(LIBNAME).so.$(SOVERSION) $(LIBNAME).so
+	cd $(libdir) && $(RM) $(LIBNAME).$(LIBEXT) && $(LN_S) $(LIBNAME).$(LIBEXT).$(SOVERSION) $(LIBNAME).$(LIBEXT)
 
 install-dev-dll: $(LIBNAME).a dummy
 	$(MKINSTALLDIRS) $(libdir)
@@ -67,7 +67,7 @@
 install install-dev:: $(LIBEXT:%=install-dev-%)
 
 uninstall::
-	$(RM) $(libdir)/$(LIBNAME).a $(libdir)/$(LIBNAME).dll $(libdir)/$(LIBNAME).so $(libdir)/$(LIBNAME).so.$(SOVERSION) $(libdir)/$(LIBNAME).dylib $(libdir)/$(LIBNAME).$(SOVERSION).dylib
+	$(RM) $(libdir)/$(LIBNAME).a $(libdir)/$(LIBNAME).dll $(libdir)/$(LIBNAME).$(LIBEXT) $(libdir)/$(LIBNAME).$(LIBEXT).$(SOVERSION) $(libdir)/$(LIBNAME).dylib $(libdir)/$(LIBNAME).$(SOVERSION).dylib
 
 clean::
-	$(RM) $(LIBNAME).so.$(SOVERSION) $(LIBNAME).dll $(LIBNAME).$(SOVERSION).dylib
+	$(RM) $(LIBNAME).$(LIBEXT).$(SOVERSION) $(LIBNAME).dll $(LIBNAME).$(SOVERSION).dylib
diff -ru clean/wine-20040914/programs/Makefile.in wine-20040914/programs/Makefile.in
--- clean/wine-20040914/programs/Makefile.in	2004-08-11 16:59:09.000000000 -0400
+++ wine-20040914/programs/Makefile.in	2004-09-20 11:09:45.000000000 -0400
@@ -133,7 +133,7 @@
 
 # Rules for installation
 
-.PHONY: install-apploader install-progs install-progs.so $(INSTALLPROGS:%=%/__installprog__)
+.PHONY: install-apploader install-progs install-progs.$(LIBEXT) $(INSTALLPROGS:%=%/__installprog__)
 
 install-apploader: wineapploader dummy
 	$(MKINSTALLDIRS) $(bindir)
@@ -142,7 +142,7 @@
 $(INSTALLPROGS:%=%/__installprog__): install-apploader
 	$(RM) $(bindir)/`dirname $@` && $(LN) $(bindir)/wineapploader $(bindir)/`dirname $@`
 
-install-progs.so: $(INSTALLPROGS:%=%/__installprog__)
+install-progs.$(LIBEXT): $(INSTALLPROGS:%=%/__installprog__)
 	$(RM) $(bindir)/wineapploader
 
 install-progs: # nothing to do here
diff -ru clean/wine-20040914/programs/avitools/Makefile.in wine-20040914/programs/avitools/Makefile.in
--- clean/wine-20040914/programs/avitools/Makefile.in	2004-08-11 16:59:09.000000000 -0400
+++ wine-20040914/programs/avitools/Makefile.in	2004-09-20 11:10:52.000000000 -0400
@@ -17,13 +17,13 @@
 
 all: aviinfo.exe$(DLLEXT) aviplay.exe$(DLLEXT) icinfo.exe$(DLLEXT) aviinfo$(EXEEXT) aviplay$(EXEEXT) icinfo$(EXEEXT)
 
-aviinfo.exe.so: aviinfo.o
+aviinfo.exe.$(LIBEXT): aviinfo.o
 	$(WINEGCC) -B$(TOOLSDIR)/tools/winebuild -mwindows -o $@ aviinfo.o -L$(DLLDIR) -lavifil32 -lkernel32 $(ALL_LIBS)
 
-aviplay.exe.so: aviplay.o
+aviplay.exe.$(LIBEXT): aviplay.o
 	$(WINEGCC) -B$(TOOLSDIR)/tools/winebuild -mwindows -o $@ aviplay.o -L$(DLLDIR) -lavifil32 -lddraw -lkernel32 $(ALL_LIBS)
 
-icinfo.exe.so: icinfo.o
+icinfo.exe.$(LIBEXT): icinfo.o
 	$(WINEGCC) -B$(TOOLSDIR)/tools/winebuild -mwindows -o $@ icinfo.o -L$(DLLDIR) -lmsvfw32 -lkernel32 $(ALL_LIBS)
 
 aviinfo.exe: aviinfo.o
@@ -40,13 +40,13 @@
 
 # Rules for installation
 
-.PHONY: install_prog install_prog.so uninstall_prog uninstall_prog.so
+.PHONY: install_prog install_prog.$(LIBEXT) uninstall_prog uninstall_prog.$(LIBEXT)
 
-install_prog.so: $(PROGRAMS:%=%.so)
+install_prog.$(LIBEXT): $(PROGRAMS:%=%.$(LIBEXT))
 	$(MKINSTALLDIRS) $(dlldir)
-	$(INSTALL_PROGRAM) aviinfo.exe.so $(dlldir)/aviinfo.exe.so
-	$(INSTALL_PROGRAM) aviplay.exe.so $(dlldir)/aviplay.exe.so
-	$(INSTALL_PROGRAM) icinfo.exe.so $(dlldir)/icinfo.exe.so
+	$(INSTALL_PROGRAM) aviinfo.exe.$(LIBEXT) $(dlldir)/aviinfo.exe.$(LIBEXT)
+	$(INSTALL_PROGRAM) aviplay.exe.$(LIBEXT) $(dlldir)/aviplay.exe.$(LIBEXT)
+	$(INSTALL_PROGRAM) icinfo.exe.$(LIBEXT) $(dlldir)/icinfo.exe.$(LIBEXT)
 
 install_prog: $(PROGRAMS)
 	$(MKINSTALLDIRS) $(bindir)
@@ -54,8 +54,8 @@
 	$(INSTALL_PROGRAM) aviplay.exe $(bindir)/aviplay.exe
 	$(INSTALL_PROGRAM) icinfo.exe $(bindir)/icinfo.exe
 
-uninstall_prog.so:
-	$(RM) $(dlldir)/aviinfo.exe.so $(dlldir)/aviplay.exe.so $(dlldir)/icinfo.exe.so
+uninstall_prog.$(LIBEXT):
+	$(RM) $(dlldir)/aviinfo.exe.$(LIBEXT) $(dlldir)/aviplay.exe.$(LIBEXT) $(dlldir)/icinfo.exe.$(LIBEXT)
 
 uninstall_prog:
 	$(RM) $(bindir)/aviinfo.exe $(bindir)/aviplay.exe $(bindir)/icinfo.exe
diff -ru clean/wine-20040914/programs/winetest/Makefile.in wine-20040914/programs/winetest/Makefile.in
--- clean/wine-20040914/programs/winetest/Makefile.in	2004-08-11 16:59:09.000000000 -0400
+++ wine-20040914/programs/winetest/Makefile.in	2004-09-20 11:07:09.000000000 -0400
@@ -65,7 +65,7 @@
 
 dist: winetest-dist.exe$(DLLEXT) winetest-dist$(EXEEXT)
 
-winetest-dist.exe.so: $(ALL_OBJS) dist.res Makefile.in
+winetest-dist.exe.$(LIBEXT): $(ALL_OBJS) dist.res Makefile.in
 	$(WINEGCC) -B$(TOOLSDIR)/tools/winebuild $(APPMODE) $(ALL_OBJS) dist.res -o $@ -L$(DLLDIR) $(DELAYIMPORTS:%=-Wb,-d%) $(ALL_LIBS)
 
 winetest-dist: $(WINEWRAPPER)


More information about the wine-patches mailing list