]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/makefile.vc
1. more (minor) wxCaret bug fixes
[wxWidgets.git] / src / msw / makefile.vc
index b197ff7de3bbd152324f98b97a38f111eb1e7551..8303dca518726e9d1339922a241227573b49a23a 100644 (file)
 #
 # FINAL=1 argument to nmake to build version with no debugging info.
 # dll builds a library (wxdll.lib) suitable for creating DLLs
-#    * Note that the dll target is experimental - see docs/dll.txt.
 #
 !include <..\makevc.env>
 
 THISDIR=$(WXWIN)\src\msw
 
 !if "$(WXMAKINGDLL)" == "1"
-LIBTARGET=$(WXDIR)\lib\wx200.dll
-DUMMYOBJ=dummydll.obj
+LIBTARGET=$(WXDIR)\lib\$(WXLIBNAME).dll
+DUMMYOBJ=$D\dummydll.obj
 !else
 LIBTARGET=$(WXLIB)
-DUMMYOBJ=dummy.obj
+DUMMYOBJ=$D\dummy.obj
 !endif
 
-# Please set these according to the settings in wx_setup.h, so we can include
+# Please set these according to the settings in setup.h, so we can include
 # the appropriate libraries in wx.lib
 
-# This one overrides the others, to be consistent with the settings in wx_setup.h
+# This one overrides the others, to be consistent with the settings in setup.h
 MINIMAL_WXWINDOWS_SETUP=0
 
 PERIPH_LIBS=
@@ -42,1156 +41,355 @@ PERIPH_CLEAN_TARGET=
 # error to load that file.
 GENDIR=$(WXDIR)\src\generic
 COMMDIR=$(WXDIR)\src\common
-XPMDIR=$(WXDIR)\src\xpm
 OLEDIR=ole
 MSWDIR=$(WXDIR)\src\msw
+DOCDIR = $(WXDIR)\docs
 
-DOCDIR = $(WXDIR)\docs
-
-GENERICOBJS= \
-  $(GENDIR)\choicdgg.obj \
-  $(GENDIR)\gridg.obj \
-  $(GENDIR)\laywin.obj \
-  $(GENDIR)\panelg.obj \
-  $(GENDIR)\prop.obj \
-  $(GENDIR)\propform.obj \
-  $(GENDIR)\proplist.obj \
-  $(GENDIR)\sashwin.obj \
-  $(GENDIR)\scrolwin.obj \
-  $(GENDIR)\splitter.obj \
-  $(GENDIR)\statusbr.obj \
-  $(GENDIR)\tabg.obj \
-  $(GENDIR)\textdlgg.obj
-
-#  $(GENDIR)\imaglist.obj \
-#  $(GENDIR)\treectrl.obj \
-#  $(GENDIR)\listctrl.obj \
-#  $(GENDIR)\notebook.obj \
-
-# These are generic things that don't need to be compiled on MSW,
-# but sometimes it's useful to do so for testing purposes.
-NONESSENTIALOBJS= \
-  $(GENDIR)\printps.obj \
-  $(GENDIR)\prntdlgg.obj \
-  $(GENDIR)\msgdlgg.obj \
-  $(GENDIR)\helpxlp.obj \
-  $(GENDIR)\colrdlgg.obj \
-  $(GENDIR)\fontdlgg.obj \
-  $(COMMDIR)\postscrp.obj
-
-COMMONOBJS = \
-  $(COMMDIR)\cmndata.obj \
-  $(COMMDIR)\config.obj \
-  $(COMMDIR)\db.obj \
-  $(COMMDIR)\dbtable.obj \
-  $(COMMDIR)\docview.obj \
-  $(COMMDIR)\docmdi.obj \
-  $(COMMDIR)\dynarray.obj \
-  $(COMMDIR)\dynlib.obj \
-  $(COMMDIR)\event.obj \
-  $(COMMDIR)\file.obj \
-  $(COMMDIR)\filefn.obj \
-  $(COMMDIR)\fileconf.obj \
-  $(COMMDIR)\framecmn.obj \
-  $(COMMDIR)\gdicmn.obj \
-  $(COMMDIR)\image.obj \
-  $(COMMDIR)\intl.obj \
-  $(COMMDIR)\ipcbase.obj \
-  $(COMMDIR)\helpbase.obj \
-  $(COMMDIR)\layout.obj \
-  $(COMMDIR)\log.obj \
-  $(COMMDIR)\memory.obj \
-  $(COMMDIR)\mimetype.obj \
-  $(COMMDIR)\module.obj \
-  $(COMMDIR)\odbc.obj \
-  $(COMMDIR)\object.obj \
-  $(COMMDIR)\prntbase.obj \
-  $(COMMDIR)\resource.obj \
-  $(COMMDIR)\tbarbase.obj \
-  $(COMMDIR)\tbarsmpl.obj \
-  $(COMMDIR)\textfile.obj \
-  $(COMMDIR)\timercmn.obj \
-  $(COMMDIR)\utilscmn.obj \
-  $(COMMDIR)\validate.obj \
-  $(COMMDIR)\valtext.obj \
-  $(COMMDIR)\date.obj \
-  $(COMMDIR)\hash.obj \
-  $(COMMDIR)\list.obj \
-  $(COMMDIR)\string.obj \
-  $(COMMDIR)\socket.obj \
-  $(COMMDIR)\sckaddr.obj \
-  $(COMMDIR)\sckfile.obj \
-  $(COMMDIR)\sckipc.obj \
-  $(COMMDIR)\sckstrm.obj \
-  $(COMMDIR)\url.obj \
-  $(COMMDIR)\http.obj \
-  $(COMMDIR)\protocol.obj \
-  $(COMMDIR)\time.obj \
-  $(COMMDIR)\tokenzr.obj \
-  $(COMMDIR)\wxexpr.obj \
-  $(COMMDIR)\y_tab.obj \
-  $(COMMDIR)\extended.obj \
-  $(COMMDIR)\process.obj \
-  $(COMMDIR)\wfstream.obj \
-  $(COMMDIR)\mstream.obj \
-  $(COMMDIR)\zstream.obj \
-  $(COMMDIR)\stream.obj \
-  $(COMMDIR)\datstrm.obj \
-  $(COMMDIR)\objstrm.obj \
-  $(COMMDIR)\variant.obj \
-  $(COMMDIR)\wincmn.obj
-
-MSWOBJS = \
-  $(MSWDIR)\accel.obj \
-  $(MSWDIR)\app.obj \
-  $(MSWDIR)\bitmap.obj \
-  $(MSWDIR)\bmpbuttn.obj \
-  $(MSWDIR)\brush.obj \
-  $(MSWDIR)\button.obj \
-  $(MSWDIR)\checkbox.obj \
-  $(MSWDIR)\checklst.obj \
-  $(MSWDIR)\choice.obj \
-  $(MSWDIR)\clipbrd.obj \
-  $(MSWDIR)\colordlg.obj \
-  $(MSWDIR)\colour.obj \
-  $(MSWDIR)\combobox.obj \
-  $(MSWDIR)\control.obj \
-  $(MSWDIR)\curico.obj \
-  $(MSWDIR)\cursor.obj \
-  $(MSWDIR)\data.obj \
-  $(MSWDIR)\dc.obj \
-  $(MSWDIR)\dcmemory.obj \
-  $(MSWDIR)\dcclient.obj \
-  $(MSWDIR)\dcprint.obj \
-  $(MSWDIR)\dcscreen.obj \
-  $(MSWDIR)\dde.obj \
-  $(MSWDIR)\dialog.obj \
-  $(MSWDIR)\dib.obj \
-  $(MSWDIR)\dibutils.obj \
-  $(MSWDIR)\dirdlg.obj \
-  $(MSWDIR)\filedlg.obj \
-  $(MSWDIR)\font.obj \
-  $(MSWDIR)\fontdlg.obj \
-  $(MSWDIR)\frame.obj \
-  $(MSWDIR)\gauge95.obj \
-  $(MSWDIR)\gaugemsw.obj \
-  $(MSWDIR)\gdiobj.obj \
-  $(MSWDIR)\helpwin.obj \
-  $(MSWDIR)\icon.obj \
-  $(MSWDIR)\iniconf.obj \
-  $(MSWDIR)\joystick.obj \
-  $(MSWDIR)\imaglist.obj \
-  $(MSWDIR)\listbox.obj \
-  $(MSWDIR)\listctrl.obj \
-  $(MSWDIR)\main.obj \
-  $(MSWDIR)\mdi.obj \
-  $(MSWDIR)\menu.obj \
-  $(MSWDIR)\menuitem.obj \
-  $(MSWDIR)\metafile.obj \
-  $(MSWDIR)\minifram.obj \
-  $(MSWDIR)\msgdlg.obj \
-  $(MSWDIR)\nativdlg.obj \
-  $(MSWDIR)\notebook.obj \
-  $(MSWDIR)\ownerdrw.obj \
-  $(MSWDIR)\palette.obj \
-  $(MSWDIR)\pen.obj \
-  $(MSWDIR)\penwin.obj \
-  $(MSWDIR)\pnghand.obj \
-  $(MSWDIR)\printdlg.obj \
-  $(MSWDIR)\printwin.obj \
-  $(MSWDIR)\radiobox.obj \
-  $(MSWDIR)\radiobut.obj \
-  $(MSWDIR)\region.obj \
-  $(MSWDIR)\registry.obj \
-  $(MSWDIR)\regconf.obj \
-  $(MSWDIR)\scrolbar.obj \
-  $(MSWDIR)\settings.obj \
-  $(MSWDIR)\slidrmsw.obj \
-  $(MSWDIR)\slider95.obj \
-  $(MSWDIR)\spinbutt.obj \
-  $(MSWDIR)\statbmp.obj \
-  $(MSWDIR)\statbox.obj \
-  $(MSWDIR)\statbr95.obj \
-  $(MSWDIR)\stattext.obj \
-  $(MSWDIR)\tabctrl.obj \
-  $(MSWDIR)\taskbar.obj \
-  $(MSWDIR)\tbar95.obj \
-  $(MSWDIR)\tbarmsw.obj \
-  $(MSWDIR)\textctrl.obj \
-  $(MSWDIR)\thread.obj \
-  $(MSWDIR)\timer.obj \
-  $(MSWDIR)\treectrl.obj \
-  $(MSWDIR)\utils.obj \
-  $(MSWDIR)\utilsexc.obj \
-  $(OLEDIR)\uuid.obj \
-  $(MSWDIR)\wave.obj \
-  $(MSWDIR)\window.obj \
-  $(MSWDIR)\xpmhand.obj \
-  $(OLEDIR)\dataobj.obj \
-  $(OLEDIR)\automtn.obj \
-  $(OLEDIR)\droptgt.obj \
-  $(OLEDIR)\dropsrc.obj \
-  $(OLEDIR)\oleutils.obj
-
-# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
-OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
-
-# Normal, static library
-all:    $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm $(LIBTARGET)
-
-# wxWindows library as DLL
-dll:
-        nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1
-
-# wxWindows + app as DLL. Only affects main.cpp.
-dllapp:
-        nmake -f makefile.vc all FINAL=$(FINAL) DLL=1
-
-# wxWindows + app as DLL, for Netscape plugin - remove DllMain.
-dllnp:
-        nmake -f makefile.vc all NOMAIN=1 FINAL=$(FINAL) DLL=1
-
-# Use this to make dummy.obj and generate a PCH.
-# You might use the dll target, then the pch target, in order to
-# generate a DLL, then a PCH/dummy.obj for compiling your applications with.
-#
-# Explanation: Normally, when compiling a static version of wx.lib, your dummy.obj/PCH
-# are associated with wx.lib. When using a DLL version of wxWindows, however,
-# the DLL is compiled without a PCH, so you only need it for compiling the app.
-# In fact headers are compiled differently depending on whether a DLL is being made
-# or an app is calling the DLL exported functionality (WXDLLEXPORT is different
-# in each case) so you couldn't use the same PCH.
-pch:
-        nmake -f makefile.vc pch1 WXUSINGDLL=1
-
-pch1:   $(DUMMYOBJ)
-
-$(WXDIR)\lib\wx.lib:      dummy.obj $(OBJECTS) $(PERIPH_LIBS)
-       -erase $(LIBTARGET)
-       $(implib) @<<
--out:$@
--machine:$(CPU)
-$(OBJECTS) $(PERIPH_LIBS)
-<<
-
-# Update the import library
-$(WXDIR)\lib\wx200.lib: $(DUMMYOBJ) $(OBJECTS)
-    $(implib) @<<
-    -machine:$(CPU)
-    -def:wx.def
-    $(DUMMYOBJ) $(OBJECTS)
-    -out:$(WXDIR)\lib\wx200.lib
-<<
-
-# Update the dynamic link library
-$(WXDIR)\lib\wx200.dll: $(DUMMYOBJ) $(OBJECTS) $(WXDIR)\lib\wx200.lib
-    $(link) @<<
-    $(LINKFLAGS)
-    -out:$(WXDIR)\lib\wx200.dll
-    $(DUMMYOBJ) $(OBJECTS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\xpm.lib
-<<
-
-########################################################
-# Windows-specific objects
-
-dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
-        cl $(CPPFLAGS) $(MAKEPRECOMP) /c /Tp $*.$(SRCSUFF)
-
-dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
-        cl @<<
-$(CPPFLAGS) $(MAKEPRECOMP) /c /Tp $*.$(SRCSUFF)
-<<
-
-$(MSWDIR)/accel.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/app.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /D__NO_VC_CRTDBG__ /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/bitmap.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/bmpbuttn.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/brush.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/button.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/choice.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/checkbox.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/checklst.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/clipbrd.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/colordlg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/colour.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/combobox.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/control.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/curico.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/cursor.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/data.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/dde.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
-<<
-
-$(MSWDIR)/dc.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/dcmemory.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/dcclient.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/dcprint.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/dcscreen.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/dialog.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/dib.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/dibutils.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/dirdlg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/filedlg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/font.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/fontdlg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/frame.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/gauge95.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/gaugemsw.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/gdiobj.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/icon.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/imaglist.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/joystick.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/listbox.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
-<<
-
-$(MSWDIR)/listctrl.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
-<<
-
-$(MSWDIR)/main.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/mdi.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/menu.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/menuitem.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/metafile.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/minifram.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/msgdlg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/nativdlg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/notebook.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/ownerdrw.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/palette.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/pen.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/penwin.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/pnghand.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/xpmhand.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/printdlg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/printwin.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/radiobox.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/radiobut.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/region.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/registry.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/regconf.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/scrolbar.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/settings.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/slidrmsw.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/slider95.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/spinbutt.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/statbmp.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/statbox.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/statbr95.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/stattext.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/tabctrl.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/taskbar.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/tbar95.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/tbarmsw.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/textctrl.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/thread.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/timer.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/treectrl.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/utils.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/utilsexc.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/wave.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(MSWDIR)/window.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(OLEDIR)/droptgt.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(OLEDIR)/dropsrc.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(OLEDIR)/dataobj.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(OLEDIR)/oleutils.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(OLEDIR)/uuid.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(OLEDIR)/automtn.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-########################################################
-# Common objects (always compiled)
-
-$(COMMDIR)/cmndata.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/config.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/db.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/dbtable.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/docview.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/docmdi.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/dynarray.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/dynlib.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/event.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/file.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/fileconf.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/filefn.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/framecmn.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/gdicmn.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/image.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/intl.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/ipcbase.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/helpbase.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/layout.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/log.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/memory.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/mimetype.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/module.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/object.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/odbc.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/postscrp.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/prntbase.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/resource.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/tbarbase.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/tbarsmpl.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/textfile.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/timercmn.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(COMMDIR)/utilscmn.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+{..\generic}.cpp{..\generic\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
 <<
 
-$(COMMDIR)/validate.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+{..\common}.cpp{..\common\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
 <<
 
-$(COMMDIR)/valtext.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+{..\msw}.cpp{..\msw\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
 <<
 
-$(COMMDIR)/date.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+{..\msw\ole}.cpp{..\msw\ole\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
 <<
 
-$(COMMDIR)/wxexpr.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+GENERICOBJS= \
+  ..\generic\$D\choicdgg.obj \
+  ..\generic\$D\gridg.obj \
+  ..\generic\$D\laywin.obj \
+  ..\generic\$D\panelg.obj \
+  ..\generic\$D\progdlgg.obj \
+  ..\generic\$D\prop.obj \
+  ..\generic\$D\propform.obj \
+  ..\generic\$D\proplist.obj \
+  ..\generic\$D\sashwin.obj \
+  ..\generic\$D\scrolwin.obj \
+  ..\generic\$D\splitter.obj \
+  ..\generic\$D\statusbr.obj \
+  ..\generic\$D\tabg.obj \
+  ..\generic\$D\textdlgg.obj
+
+#  ..\generic\$D\imaglist.obj \
+#  ..\generic\$D\treectrl.obj \
+#  ..\generic\$D\listctrl.obj \
+#  ..\generic\$D\notebook.obj \
 
-$(COMMDIR)/hash.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# These are generic things that don't need to be compiled on MSW,
+# but sometimes it's useful to do so for testing purposes.
+NONESSENTIALOBJS= \
+  ..\generic\$D\printps.obj \
+  ..\generic\$D\prntdlgg.obj \
+  ..\generic\$D\msgdlgg.obj \
+  ..\generic\$D\helpxlp.obj \
+  ..\generic\$D\colrdlgg.obj \
+  ..\generic\$D\fontdlgg.obj
 
-$(COMMDIR)/list.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+COMMONOBJS = \
+  ..\common\$D\cmndata.obj \
+  ..\common\$D\config.obj \
+  ..\common\$D\dcbase.obj \
+  ..\common\$D\db.obj \
+  ..\common\$D\dbtable.obj \
+  ..\common\$D\docview.obj \
+  ..\common\$D\docmdi.obj \
+  ..\common\$D\dynarray.obj \
+  ..\common\$D\dynlib.obj \
+  ..\common\$D\event.obj \
+  ..\common\$D\file.obj \
+  ..\common\$D\filefn.obj \
+  ..\common\$D\fileconf.obj \
+  ..\common\$D\framecmn.obj \
+  ..\common\$D\ftp.obj \
+  ..\common\$D\gdicmn.obj \
+  ..\common\$D\image.obj \
+  ..\common\$D\imagjpeg.obj \
+  ..\common\$D\imagpng.obj \
+  ..\common\$D\imaggif.obj \
+  ..\common\$D\intl.obj \
+  ..\common\$D\ipcbase.obj \
+  ..\common\$D\helpbase.obj \
+  ..\common\$D\layout.obj \
+  ..\common\$D\log.obj \
+  ..\common\$D\memory.obj \
+  ..\common\$D\mimetype.obj \
+  ..\common\$D\module.obj \
+  ..\common\$D\odbc.obj \
+  ..\common\$D\object.obj \
+  ..\common\$D\prntbase.obj \
+  ..\common\$D\resource.obj \
+  ..\common\$D\tbarbase.obj \
+  ..\common\$D\tbarsmpl.obj \
+  ..\common\$D\textfile.obj \
+  ..\common\$D\timercmn.obj \
+  ..\common\$D\utilscmn.obj \
+  ..\common\$D\validate.obj \
+  ..\common\$D\valgen.obj \
+  ..\common\$D\valtext.obj \
+  ..\common\$D\date.obj \
+  ..\common\$D\hash.obj \
+  ..\common\$D\list.obj \
+  ..\common\$D\paper.obj \
+  ..\common\$D\string.obj \
+  ..\common\$D\socket.obj \
+  ..\common\$D\sckaddr.obj \
+  ..\common\$D\sckint.obj \
+  ..\common\$D\sckfile.obj \
+  ..\common\$D\sckipc.obj \
+  ..\common\$D\sckstrm.obj \
+  ..\common\$D\url.obj \
+  ..\common\$D\http.obj \
+  ..\common\$D\protocol.obj \
+  ..\common\$D\time.obj \
+  ..\common\$D\tokenzr.obj \
+  ..\common\$D\wxexpr.obj \
+  ..\common\$D\y_tab.obj \
+  ..\common\$D\extended.obj \
+  ..\common\$D\process.obj \
+  ..\common\$D\wfstream.obj \
+  ..\common\$D\mstream.obj \
+  ..\common\$D\zstream.obj \
+  ..\common\$D\stream.obj \
+  ..\common\$D\datstrm.obj \
+  ..\common\$D\objstrm.obj \
+  ..\common\$D\variant.obj \
+  ..\common\$D\wincmn.obj \
+  ..\common\$D\wxchar.obj
 
-$(COMMDIR)/string.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+MSWOBJS = \
+  ..\msw\$D\accel.obj \
+  ..\msw\$D\app.obj \
+  ..\msw\$D\bitmap.obj \
+  ..\msw\$D\bmpbuttn.obj \
+  ..\msw\$D\brush.obj \
+  ..\msw\$D\button.obj \
+  ..\msw\$D\checkbox.obj \
+  ..\msw\$D\checklst.obj \
+  ..\msw\$D\caret.obj \
+  ..\msw\$D\choice.obj \
+  ..\msw\$D\clipbrd.obj \
+  ..\msw\$D\colordlg.obj \
+  ..\msw\$D\colour.obj \
+  ..\msw\$D\combobox.obj \
+  ..\msw\$D\control.obj \
+  ..\msw\$D\curico.obj \
+  ..\msw\$D\cursor.obj \
+  ..\msw\$D\data.obj \
+  ..\msw\$D\dc.obj \
+  ..\msw\$D\dcmemory.obj \
+  ..\msw\$D\dcclient.obj \
+  ..\msw\$D\dcprint.obj \
+  ..\msw\$D\dcscreen.obj \
+  ..\msw\$D\dde.obj \
+  ..\msw\$D\dialog.obj \
+  ..\msw\$D\dib.obj \
+  ..\msw\$D\dibutils.obj \
+  ..\msw\$D\dirdlg.obj \
+  ..\msw\$D\dragimag.obj \
+  ..\msw\$D\filedlg.obj \
+  ..\msw\$D\font.obj \
+  ..\msw\$D\fontdlg.obj \
+  ..\msw\$D\frame.obj \
+  ..\msw\$D\gauge95.obj \
+  ..\msw\$D\gaugemsw.obj \
+  ..\msw\$D\gdiobj.obj \
+  ..\msw\$D\helpwin.obj \
+  ..\msw\$D\icon.obj \
+  ..\msw\$D\iniconf.obj \
+  ..\msw\$D\joystick.obj \
+  ..\msw\$D\imaglist.obj \
+  ..\msw\$D\listbox.obj \
+  ..\msw\$D\listctrl.obj \
+  ..\msw\$D\main.obj \
+  ..\msw\$D\mdi.obj \
+  ..\msw\$D\menu.obj \
+  ..\msw\$D\menuitem.obj \
+  ..\msw\$D\metafile.obj \
+  ..\msw\$D\minifram.obj \
+  ..\msw\$D\msgdlg.obj \
+  ..\msw\$D\nativdlg.obj \
+  ..\msw\$D\notebook.obj \
+  ..\msw\$D\ownerdrw.obj \
+  ..\msw\$D\palette.obj \
+  ..\msw\$D\pen.obj \
+  ..\msw\$D\penwin.obj \
+  ..\msw\$D\pnghand.obj \
+  ..\msw\$D\printdlg.obj \
+  ..\msw\$D\printwin.obj \
+  ..\msw\$D\radiobox.obj \
+  ..\msw\$D\radiobut.obj \
+  ..\msw\$D\region.obj \
+  ..\msw\$D\registry.obj \
+  ..\msw\$D\regconf.obj \
+  ..\msw\$D\scrolbar.obj \
+  ..\msw\$D\settings.obj \
+  ..\msw\$D\slidrmsw.obj \
+  ..\msw\$D\slider95.obj \
+  ..\msw\$D\spinbutt.obj \
+  ..\msw\$D\statbmp.obj \
+  ..\msw\$D\statbox.obj \
+  ..\msw\$D\statbr95.obj \
+  ..\msw\$D\stattext.obj \
+  ..\msw\$D\tabctrl.obj \
+  ..\msw\$D\taskbar.obj \
+  ..\msw\$D\tbar95.obj \
+  ..\msw\$D\tbarmsw.obj \
+  ..\msw\$D\textctrl.obj \
+  ..\msw\$D\thread.obj \
+  ..\msw\$D\timer.obj \
+  ..\msw\$D\tooltip.obj \
+  ..\msw\$D\treectrl.obj \
+  ..\msw\$D\utils.obj \
+  ..\msw\$D\utilsexc.obj \
+  ..\msw\ole\$D\uuid.obj \
+  ..\msw\$D\wave.obj \
+  ..\msw\$D\window.obj \
+  ..\msw\$D\xpmhand.obj \
+  ..\msw\ole\$D\dataobj.obj \
+  ..\msw\ole\$D\automtn.obj \
+  ..\msw\ole\$D\droptgt.obj \
+  ..\msw\ole\$D\dropsrc.obj \
+  ..\msw\ole\$D\oleutils.obj
 
-$(COMMDIR)/socket.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
+OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
 
-$(COMMDIR)/sckaddr.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# Normal, static library
+all:    dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg $(LIBTARGET)
 
-$(COMMDIR)/sckfile.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D
 
-$(COMMDIR)/sckipc.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+test:   $(MSWDIR)\$D\wave.obj
+test2:  ..\common\Debug\config.obj
 
-$(COMMDIR)/sckstrm.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$D:
+    mkdir $D
 
-$(COMMDIR)/url.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(COMMDIR)\$D:
+    mkdir $(COMMDIR)\$D
 
-$(COMMDIR)/http.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(MSWDIR)\$D:
+    mkdir $(MSWDIR)\$D
 
-$(COMMDIR)/protocol.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(GENDIR)\$D:
+    mkdir $(GENDIR)\$D
 
-$(COMMDIR)/tokenzr.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(OLEDIR)\$D:
+    mkdir $(OLEDIR)\$D
 
-$(COMMDIR)/matrix.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# wxWindows library as DLL
+dll:
+        nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
 
-$(COMMDIR)/time.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+cleandll:
+        nmake -f makefile.vc clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
 
-$(COMMDIR)\stream.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# wxWindows + app as DLL. Only affects main.cpp.
+dllapp:
+        nmake -f makefile.vc all FINAL=$(FINAL) DLL=1
 
-$(COMMDIR)\wfstream.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# wxWindows + app as DLL, for Netscape plugin - remove DllMain.
+dllnp:
+        nmake -f makefile.vc all NOMAIN=1 FINAL=$(FINAL) DLL=1
 
-$(COMMDIR)\mstream.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# Use this to make dummy.obj and generate a PCH.
+# You might use the dll target, then the pch target, in order to
+# generate a DLL, then a PCH/dummy.obj for compiling your applications with.
+#
+# Explanation: Normally, when compiling a static version of wx.lib, your dummy.obj/PCH
+# are associated with wx.lib. When using a DLL version of wxWindows, however,
+# the DLL is compiled without a PCH, so you only need it for compiling the app.
+# In fact headers are compiled differently depending on whether a DLL is being made
+# or an app is calling the DLL exported functionality (WXDLLEXPORT is different
+# in each case) so you couldn't use the same PCH.
+pch:
+        nmake -f makefile.vc pch1 WXUSINGDLL=1 FINAL=$(FINAL) NEW_WXLIBNAME=$(NEW_WXLIBNAME)
 
-$(COMMDIR)\zstream.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+pch1:   dirs $(DUMMYOBJ)
+    echo $(DUMMYOBJ)
 
-$(COMMDIR)\datstrm.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+!if "$(WXMAKINGDLL)" != "1"
 
-$(COMMDIR)\objstrm.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+### Static library
 
-$(COMMDIR)/extended.obj:     $*.c
-        cl @<<
-$(CPPFLAGS2) /c $*.c /Fo$@
+$(WXDIR)\lib\$(WXLIBNAME).lib:      $D\dummy.obj $(OBJECTS) $(PERIPH_LIBS)
+       -erase $(LIBTARGET)
+       $(implib) @<<
+-out:$@
+-machine:$(CPU)
+$(OBJECTS) $(PERIPH_LIBS)
 <<
 
-$(COMMDIR)/process.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+!else
 
-$(COMMDIR)/variant.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+### Update the import library
 
-$(COMMDIR)/wincmn.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+$(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
+    $(implib) @<<
+    -machine:$(CPU)
+    -def:wx.def
+    $(DUMMYOBJ) $(OBJECTS)
+    -out:$(WXDIR)\lib\$(WXLIBNAME).lib
 <<
 
-$(COMMDIR)/y_tab.obj:     $*.c $(COMMDIR)/lex_yy.c
-        cl @<<
-$(CPPFLAGS2) /c $*.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
+# Update the dynamic link library
+$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS) $(WXDIR)\lib\$(WXLIBNAME).lib
+    $(link) @<<
+    $(LINKFLAGS)
+    -out:$(WXDIR)\lib\$(WXLIBNAME).dll
+    $(DUMMYOBJ) $(OBJECTS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\xpm.lib
 <<
 
-$(COMMDIR)/y_tab.c:     $(COMMDIR)/dosyacc.c
-        copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
+!endif
 
-$(COMMDIR)/lex_yy.c:    $(COMMDIR)/doslex.c
-    copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
 
 ########################################################
-# Generic objects (not always compiled, depending on
-# whether platforms have native implementations)
-
-$(GENDIR)/choicdgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/colrdlgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/fontdlgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/gridg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/helpxlp.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/laywin.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/msgdlgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/panelg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/prop.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/propform.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/proplist.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/printps.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/prntdlgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/sashwin.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
-
-$(GENDIR)/scrolwin.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# Windows-specific objects
 
-$(GENDIR)/splitter.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$D\dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h
+        cl $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummy.obj /c /Tp dummy.cpp
 
-$(GENDIR)/statusbr.obj:     $*.$(SRCSUFF)
+$D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h
         cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+$(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp
 <<
 
-$(GENDIR)/tabg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# If taking wxWindows from CVS, setup.h doesn't exist yet.
+# Actually the 'if not exist setup.h' test doesn't work
+# (copies the file anyway)
+# we'll have to comment this rule out.
 
-$(GENDIR)/textdlgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+#$(WXDIR)\include\wx\msw\setup.h: $(WXDIR)\include\wx\msw\setup0.h
+#    cd "$(WXDIR)"\include\wx\msw
+#    if not exist setup.h copy setup0.h setup.h
+#    cd "$(WXDIR)"\src\msw
 
-$(GENDIR)/treectrl.obj:     $*.$(SRCSUFF)
+..\common\$D\extended.obj:     ..\common\extended.c
         cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+$(CPPFLAGS2) /c $(COMMDIR)\extended.c /Fo$@
 <<
 
-$(GENDIR)/imaglist.obj:     $*.$(SRCSUFF)
+..\common\$D\y_tab.obj:     ..\common\y_tab.c ..\common\lex_yy.c
         cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+$(CPPFLAGS2) /c ..\common\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
 <<
 
-$(GENDIR)/listctrl.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+..\common\y_tab.c:     ..\common\dosyacc.c
+        copy "..\common"\dosyacc.c "..\common"\y_tab.c
 
-$(GENDIR)/notebook.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+..\common\lex_yy.c:    ..\common\doslex.c
+    copy "..\common"\doslex.c "..\common"\lex_yy.c
 
 $(OBJECTS):    $(WXDIR)/include/wx/setup.h
 
@@ -1217,6 +415,16 @@ clean_zlib:
     nmake -f makefile.vc clean
     cd $(WXDIR)\src\msw
 
+jpeg:
+    cd $(WXDIR)\src\jpeg
+    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) all
+    cd $(WXDIR)\src\msw
+
+clean_jpeg:
+    cd $(WXDIR)\src\jpeg
+    nmake -f makefile.vc clean
+    cd $(WXDIR)\src\msw
+
 xpm:
     cd $(WXDIR)\src\xpm
     nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
@@ -1232,10 +440,9 @@ rcparser:
     nmake -f makefile.vc FINAL=$(FINAL)
     cd $(WXDIR)\src\msw
 
-clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_xpm
-        -erase *.obj
+clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_jpeg clean_xpm
         -erase $(LIBTARGET)
-        -erase $(WXDIR)\lib\*.pdb
+        -erase $(WXDIR)\lib\$(WXLIBNAME).pdb
         -erase ..\..\lib\wx200.dll
         -erase ..\..\lib\wx200.lib
         -erase ..\..\lib\wx200.exp
@@ -1243,54 +450,46 @@ clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_xpm
         -erase ..\..\lib\wx200.ilk
         -erase *.pdb
         -erase *.sbr
-        -erase *.pch
-        cd $(WXDIR)\src\msw
-        cd $(GENDIR)
-        -erase *.pdb
-        -erase *.sbr
-        -erase *.obj
-        cd $(WXDIR)\src\msw
-        cd $(COMMDIR)
-        -erase *.pdb
-        -erase *.sbr
-        -erase *.obj
-        -erase y_tab.c
-        -erase lex_yy.c
-        cd $(WXDIR)\src\msw
-        cd $(OLEDIR)
-        -erase *.pdb
-        -erase *.sbr
-        -erase *.obj
-        cd $(WXDIR)\src\msw
-#        -erase ..\common\wxstrgnu\*.obj
-#        -erase ..\common\lex_yy.c
-#        -erase ..\common\y_tab.c
+        -erase $(WXLIBNAME).pch
+        -erase $(GENDIR)\$D\*.obj
+        -erase $(GENDIR)\$D\*.pdb
+        -erase $(GENDIR)\$D\*.sbr
+        -erase $(COMMDIR)\$D\*.obj
+        -erase $(COMMDIR)\$D\*.pdb
+        -erase $(COMMDIR)\$D\*.sbr
+        -erase $(COMMDIR)\\y_tab.c
+        -erase $(COMMDIR)\lex_yy.c
+        -erase $(MSWDIR)\$D\*.obj
+        -erase $(MSWDIR)\$D\*.sbr
+        -erase $(MSWDIR)\$D\*.pdb
+        -erase $(OLEDIR)\$D\*.obj
+        -erase $(OLEDIR)\$D\*.sbr
+        -erase $(OLEDIR)\$D\*.pdb
+        -rmdir $(D)
+        -rmdir ole\$(D)
+        -rmdir ..\generic\$(D)
+        -rmdir ..\common\$(D)
 
 cleanall: clean
 
 # Making documents
 docs:   allhlp allhtml allpdfrtf
 alldocs: docs
-hlp:    wxhlp portinghlp # faqhlp
+hlp:    wxhlp portinghlp
 wxhlp:  $(DOCDIR)/winhelp/wx.hlp
 prophlp: $(DOCDIR)/winhelp/prop.hlp
-faqhlp: $(DOCDIR)/winhelp/faq.hlp
 refhlp: $(DOCDIR)/winhelp/techref.hlp
 rtf:    $(DOCDIR)/winhelp/wx.rtf
-faqrtf: $(DOCDIR)/winhelp/faq.rtf
 proprtf: $(DOCDIR)/winhelp/prop.rtf
 pdfrtf:    $(DOCDIR)/pdf/wx.rtf
-faqpdfrtf: $(DOCDIR)/pdf/faq.rtf
 proppdfrtf: $(DOCDIR)/pdf/prop.rtf
 refpdfrtf: $(DOCDIR)/pdf/techref.rtf
-html:  wxhtml # faqhtml
+html:  wxhtml portinghtml
 wxhtml:        $(DOCDIR)\html\wx\wx.htm
-faqhtml: $(DOCDIR)\html\faq\faq.htm
 prophtml: $(DOCDIR)\html\proplist\prop.htm
-ps:     wxps referencps # faqps
+ps:     wxps referencps
 wxps:  $(WXDIR)\docs\ps\wx.ps
 propps:        $(WXDIR)\docs\ps\prop.ps
-faqps: $(WXDIR)\docs\ps\faq.ps
 referencps:    $(WXDIR)\docs\ps\referenc.ps
 
 portinghtml: $(DOCDIR)\html\porting\port.htm
@@ -1299,17 +498,13 @@ portinghlp: $(DOCDIR)/winhelp/porting.hlp
 portingpdfrtf: $(DOCDIR)/pdf/porting.rtf
 portingps:     $(WXDIR)\docs\ps\porting.ps
 
-allhlp: wxhlp portinghlp prop # faqhlp
+allhlp: wxhlp portinghlp prophlp
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc hlp
         cd $(THISDIR)
 
 #        cd $(WXDIR)\utils\wxhelp\src
 #        nmake -f makefile.vc hlp
-#        cd $(WXDIR)\utils\wxhelp2\src
-#        nmake -f makefile.vc hlp
-#        cd $(WXDIR)\utils\prologio\src
-#        nmake -f makefile.vc hlp
 #        cd $(WXDIR)\utils\tex2rtf\src
 #        nmake -f makefile.vc hlp
 #        cd $(WXDIR)\utils\wxgraph\src
@@ -1322,15 +517,8 @@ allhlp: wxhlp portinghlp prop # faqhlp
 #        nmake -f makefile.vc hlp
 #        cd $(WXDIR)\utils\wxgrid\src
 #        nmake -f makefile.vc hlp
-#        cd $(WXDIR)\utils\wxtab\src
-#        nmake -f makefile.vc hlp
 
-#        cd $(WXDIR)\utils\wxclips\src
-#        nmake -f makefile.vc hlp
-#        cd $(WXDIR)\utils\clips2c\src
-#        nmake -f makefile.vc hlp
-
-allhtml: wxhtml portinghtml prophtml # faqhtml
+allhtml: wxhtml portinghtml prophtml
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc html
         cd $(THISDIR)
@@ -1342,10 +530,6 @@ allhtml: wxhtml portinghtml prophtml # faqhtml
 #        nmake -f makefile.vc html
 #        cd $(WXDIR)\utils\wxhelp\src
 #        nmake -f makefile.vc html
-#        cd $(WXDIR)\utils\wxhelp2\src
-#        nmake -f makefile.vc html
-#        cd $(WXDIR)\utils\prologio\src
-#        nmake -f makefile.vc html
 #        cd $(WXDIR)\utils\tex2rtf\src
 #        nmake -f makefile.vc html
 #        cd $(WXDIR)\utils\wxgraph\src
@@ -1354,28 +538,19 @@ allhtml: wxhtml portinghtml prophtml # faqhtml
 #        nmake -f makefile.vc html
 #        cd $(WXDIR)\utils\wxtree\src
 #        nmake -f makefile.vc html
-#        cd $(WXDIR)\utils\wxtab\src
-#        nmake -f makefile.vc html
-
-#        cd $(WXDIR)\utils\wxclips\src
-#        nmake -f makefile.vc html
-#        cd $(WXDIR)\utils\clips2c\src
-#        nmake -f makefile.vc html
 
-allps: wxps referencps portingps propps # faqps
+allps: wxps referencps portingps propps
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc ps
         cd $(THISDIR)
 
-allpdfrtf: pdfrtf portingpdfrtf proppdfrtf # faqpdfrtf
+allpdfrtf: pdfrtf portingpdfrtf proppdfrtf
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc pdfrtf
         cd $(THISDIR)
 
 #        cd $(WXDIR)\utils\wxhelp\src
 #        nmake -f makefile.vc ps
-#        cd $(WXDIR)\utils\wxhelp2\src
-#        nmake -f makefile.vc ps
 #        cd $(WXDIR)\utils\tex2rtf\src
 #        nmake -f makefile.vc ps
 #        cd $(WXDIR)\utils\wxgraph\src
@@ -1386,15 +561,6 @@ allpdfrtf: pdfrtf portingpdfrtf proppdfrtf # faqpdfrtf
 #        nmake -f makefile.vc ps
 #        cd $(THISDIR)
 
-#        cd $(WXDIR)\utils\wxtab\src
-#        nmake -f makefile.vc ps
-#        cd $(WXDIR)\utils\prologio\src
-#        nmake -f makefile.vc ps
-#        cd $(WXDIR)\utils\wxclips\src
-#        nmake -f makefile.vc ps
-#        cd $(WXDIR)\utils\clips2c\src
-#        nmake -f makefile.vc ps
-
 $(DOCDIR)/winhelp/wx.hlp:         $(DOCDIR)/latex/wx/wx.rtf $(DOCDIR)/latex/wx/wx.hpj
         cd $(DOCDIR)/latex/wx
         -erase wx.ph
@@ -1411,14 +577,6 @@ $(DOCDIR)/winhelp/porting.hlp:         $(DOCDIR)/latex/porting/porting.rtf $(DOC
         move porting.cnt $(DOCDIR)\winhelp\porting.cnt
         cd $(THISDIR)
 
-$(DOCDIR)/winhelp/faq.hlp:         $(DOCDIR)/latex/faq/faq.rtf $(DOCDIR)/latex/faq/faq.hpj
-        cd $(DOCDIR)/latex/faq
-        -erase faq.ph
-        hc faq
-        move faq.hlp $(DOCDIR)\winhelp\faq.hlp
-        move faq.cnt $(DOCDIR)\winhelp\faq.cnt
-        cd $(THISDIR)
-
 $(DOCDIR)/winhelp/prop.hlp:         $(DOCDIR)/latex/proplist/prop.rtf $(DOCDIR)/latex/proplist/prop.hpj
         cd $(DOCDIR)/latex/proplist
         -erase prop.ph
@@ -1437,63 +595,52 @@ $(DOCDIR)/winhelp/techref.hlp:         $(DOCDIR)/latex/techref/techref.rtf $(DOC
 
 $(DOCDIR)/latex/wx/wx.rtf:         $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
         cd $(DOCDIR)\latex\wx
-        -start /w tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/latex/wx/wx.rtf -twice -winhelp
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/latex/wx/wx.rtf -twice -winhelp
         cd $(THISDIR)
 
 $(DOCDIR)/latex/porting/porting.rtf:         $(DOCDIR)/latex/porting/porting.tex
         cd $(DOCDIR)\latex\porting
-        -start /w tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/latex/porting/porting.rtf -twice -winhelp
-        cd $(THISDIR)
-
-$(DOCDIR)/latex/faq/faq.rtf:         $(DOCDIR)/latex/faq/faq.tex
-        cd $(DOCDIR)\latex\faq
-        -start /w tex2rtf $(DOCDIR)/latex/faq/faq.tex $(DOCDIR)/latex/faq/faq.rtf -twice -winhelp
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/latex/porting/porting.rtf -twice -winhelp
         cd $(THISDIR)
 
 $(DOCDIR)/latex/proplist/prop.rtf:         $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
         cd $(DOCDIR)\latex\proplist
-        -start /w tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/prop.rtf -twice -winhelp
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/prop.rtf -twice -winhelp
         cd $(THISDIR)
 
 $(DOCDIR)/latex/techref/techref.rtf:         $(DOCDIR)/latex/techref/techref.tex
         cd $(DOCDIR)\latex\techref
-        -start /w tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/latex/techref/techref.rtf -twice -winhelp
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/latex/techref/techref.rtf -twice -winhelp
         cd $(THISDIR)
 
 $(DOCDIR)/pdf/wx.rtf:         $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
         cd $(DOCDIR)\latex\wx
         -copy *.bmp *.wmf $(DOCDIR)\pdf
-        -start /w tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/pdf/wx.rtf -twice -rtf
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/pdf/wx.rtf -twice -rtf
         cd $(THISDIR)
 
 $(DOCDIR)/pdf/porting.rtf:         $(DOCDIR)/latex/porting/porting.tex
         cd $(DOCDIR)\latex\porting
         -copy *.bmp *.wmf $(DOCDIR)\pdf
-        -start /w tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/pdf/porting.rtf -twice -rtf
-        cd $(THISDIR)
-
-$(DOCDIR)/pdf/faq.rtf:         $(DOCDIR)/latex/faq/faq.tex
-        cd $(DOCDIR)\latex\faq
-        -copy *.bmp *.wmf $(DOCDIR)\pdf
-        -start /w tex2rtf $(DOCDIR)/latex/faq/faq.tex $(DOCDIR)/pdf/faq.rtf -twice -rtf
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/pdf/porting.rtf -twice -rtf
         cd $(THISDIR)
 
-$(DOCDIR)/pdf/prop.rtf:         $(DOCDIR)/latex/proplist/proplist.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
+$(DOCDIR)/pdf/prop.rtf:         $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
         cd $(DOCDIR)\latex\proplist
         -copy *.bmp *.wmf $(DOCDIR)\pdf
-        -start /w tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/pdf/prop.rtf -twice -rtf
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/pdf/prop.rtf -twice -rtf
         cd $(THISDIR)
 
 $(DOCDIR)/pdf/techref.rtf:         $(DOCDIR)/latex/techref/techref.tex
         cd $(DOCDIR)\latex\techref
         -copy *.bmp *.wmf $(DOCDIR)\pdf
-        -start /w tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/pdf/techref.rtf -twice -rtf
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/pdf/techref.rtf -twice -rtf
         cd $(THISDIR)
 
 $(DOCDIR)\html\wx\wx.htm:         $(DOCDIR)\latex\wx\classes.tex $(DOCDIR)\latex\wx\body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)\latex\wx\manual.tex
         cd $(DOCDIR)\latex\wx
         -mkdir $(DOCDIR)\html\wx
-        -start /w tex2rtf $(DOCDIR)\latex\wx\manual.tex $(DOCDIR)\html\wx\wx.htm -twice -html
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\wx\manual.tex $(DOCDIR)\html\wx\wx.htm -twice -html
         -erase $(DOCDIR)\html\wx\*.con
         -erase $(DOCDIR)\html\wx\*.ref
         -erase $(DOCDIR)\latex\wx\*.con
@@ -1503,27 +650,17 @@ $(DOCDIR)\html\wx\wx.htm:         $(DOCDIR)\latex\wx\classes.tex $(DOCDIR)\latex
 $(DOCDIR)\html\porting\port.htm:         $(DOCDIR)\latex\porting\porting.tex
         cd $(DOCDIR)\latex\porting
         -mkdir $(DOCDIR)\html\porting
-        -start /w tex2rtf $(DOCDIR)\latex\porting\porting.tex $(DOCDIR)\html\porting\port.htm -twice -html
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\porting\porting.tex $(DOCDIR)\html\porting\port.htm -twice -html
         -erase $(DOCDIR)\html\porting\*.con
         -erase $(DOCDIR)\html\porting\*.ref
         -erase $(DOCDIR)\latex\porting\*.con
         -erase $(DOCDIR)\latex\porting\*.ref
         cd $(THISDIR)
 
-$(DOCDIR)\html\faq\faq.htm:         $(DOCDIR)\latex\faq\faq.tex
-        cd $(DOCDIR)\latex\faq
-        -mkdir $(DOCDIR)\html\faq
-        -start /w tex2rtf $(DOCDIR)\latex\faq\faq.tex $(DOCDIR)\html\faq\faq.htm -twice -html
-        -erase $(DOCDIR)\html\faq\*.con
-        -erase $(DOCDIR)\html\faq\*.ref
-        -erase $(DOCDIR)\latex\faq\*.con
-        -erase $(DOCDIR)\latex\faq\*.ref
-        cd $(THISDIR)
-
 $(DOCDIR)\html\proplist\prop.htm:         $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\latex\proplist\body.tex $(DOCDIR)\latex\proplist\classes.tex $(DOCDIR)\latex\proplist\changes.tex
         cd $(DOCDIR)\latex\proplist
         -mkdir $(DOCDIR)\html\proplist
-        -start /w tex2rtf $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\html\proplist\prop.htm -twice -html
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\html\proplist\prop.htm -twice -html
         -erase $(DOCDIR)\html\proplist\*.con
         -erase $(DOCDIR)\html\proplist\*.ref
         -erase $(DOCDIR)\latex\proplist\*.con
@@ -1578,21 +715,6 @@ $(WXDIR)\docs\ps\referenc.ps:     $(WXDIR)\docs\latex\wx\referenc.dvi
         move referenc.ps $(WXDIR)\docs\ps\referenc.ps
         cd $(THISDIR)
 
-$(WXDIR)\docs\latex\faq\faq.dvi:       $(DOCDIR)/latex/faq/faq.tex
-       cd $(WXDIR)\docs\latex\faq
-        -latex faq
-        -latex faq
-        -makeindx faq
-        -latex faq
-        -latex faq
-        cd $(THISDIR)
-
-$(WXDIR)\docs\ps\faq.ps:       $(WXDIR)\docs\latex\faq\faq.dvi
-       cd $(WXDIR)\docs\latex\faq
-        -dvips32 -o faq.ps faq
-        move faq.ps $(WXDIR)\docs\ps\faq.ps
-        cd $(THISDIR)
-
 # In order to force document reprocessing
 touchmanual:
     -touch $(WXDIR)\docs\latex\wx\manual.tex
@@ -1602,5 +724,5 @@ updatedocs: touchmanual alldocs
 # Start Word, running the GeneratePDF macro. MakeManual.dot should be in the
 # Office StartUp folder, and PDFMaker should be installed.
 updatepdf:  # touchmanual pdfrtf
-    start /w "winword d:\wx2\wxWindows\docs\latex\pdf\wx.rtf /mGeneratePDF"
+    start $(WAITFLAG) "winword d:\wx2\wxWindows\docs\latex\pdf\wx.rtf /mGeneratePDF"