+else
+
+# The new linker is a few orders of magnitude faster than the old way
+# of creating DLLs.
+ifeq "$(strip $(LD_SUPPORTS_SHARED))" "yes"
+
+$(WXDLL): $(OBJECTS) $(EXTRAOBJS)
+ $(CC) -shared -o $@ \
+ -Wl,--output-def,$(WXDEF) \
+ -Wl,--out-implib,$(WXLIB) \
+ $(OBJECTS) $(EXTRAOBJS) \
+ $(DLL_LDFLAGS) $(DLL_LDLIBS)
+else
+
+ifeq ($(MINGW32),1)
+ DLL_ENTRY = _DllMainCRTStartup@12
+else
+ DLL_ENTRY = __cygwin_dll_entry@12
+endif
+LD_STUFF = $(OBJECTS) $(EXTRAOBJS) -Wl,-e,$(DLL_ENTRY) \
+ $(DLL_LDFLAGS) $(DLL_LDLIBS) #-Wl,--image-base=0x66000000
+
+DLL_STUFF = --as=$(AS) --dllname $(notdir $(WXDLL)) \
+ --def $(WXDEF) \
+ --base-file wx.base --output-exp wx.exp
+
+$(WXDEF) $(WXLIB): $(OBJECTS) $(EXTRAOBJS)
+ $(DLLTOOL) --output-def $@ --output-lib $(WXLIB) \
+ --dllname $(notdir $(WXDLL)) \
+ $(OBJECTS) $(EXTRAOBJS) $(DLL_EXTRA_LIBS)
+
+$(WXDLL): $(OBJECTS) $(EXTRAOBJS) $(WXDEF)
+ $(CC) -mdll -Wl,--base-file,wx.base -s -o $@ $(LD_STUFF)
+ $(DLLTOOL) $(DLL_STUFF)
+ $(CC) -mdll -Wl,--base-file,wx.base wx.exp -s -o $@ $(LD_STUFF)
+ $(DLLTOOL) $(DLL_STUFF)
+ $(CC) -mdll wx.exp -o $@ $(LD_STUFF)
+ -$(RM) wx.base
+ -$(RM) wx.exp
+
+endif
+
+endif
+
+
+$(ZLIBLIB): $(ZLIBOBJS)
+ $(AR) $(AROPTIONS) $@ $(ZLIBOBJS)
+ $(RANLIB) $@
+
+$(PNGLIB): $(PNGOBJS)
+ $(AR) $(AROPTIONS) $@ $(PNGOBJS)
+ $(RANLIB) $@
+
+$(JPEGLIB): $(JPEGOBJS)
+ $(AR) $(AROPTIONS) $@ $(JPEGOBJS)
+ $(RANLIB) $@
+
+$(TIFFLIB): $(TIFFOBJS)
+ $(AR) $(AROPTIONS) $@ $(TIFFOBJS)
+ $(RANLIB) $@
+
+$(REGEXLIB):
+ $(MAKE) -C $(REGEXDIR) -f makefile.g95 WXDIR=$(WXDIR)
+
+$(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(ARCHINCDIR)/wx/setup.h