]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/makefile.vc
A few tweaks and cleanups
[wxWidgets.git] / src / msw / makefile.vc
index 36270044ac3054ea8bba13c947c0156318962e5f..6a5295a5413ca6f79e376cf27137d77c212df0fa 100644 (file)
@@ -1,9 +1,11 @@
-#
-# File:                makefile.nt
-# Author:      Julian Smart
-# Created:     1997
+# This file was automatically generated by tmake
+# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
+
+# File:     makefile.vc
+# Author:   Julian Smart
+# Created:  1997
 # Updated:
 # Updated:
-# Copyright:   (c) 1997, Julian Smart
+# Copyright: (c) 1997, Julian Smart
 #
 # "%W% %G%"
 #
 #
 # "%W% %G%"
 #
 #
 # FINAL=1 argument to nmake to build version with no debugging info.
 # dll builds a library (wxdll.lib) suitable for creating DLLs
 #
 # 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>
 
 #
 !include <..\makevc.env>
 
-THISDIR=$(WXWIN)\src\msw
-
-!if "$(WXMAKINGDLL)" == "1"
-LIBTARGET=$(WXDIR)\lib\wx200.dll
-DUMMYOBJ=dummydll.obj
-!else
-LIBTARGET=$(WXLIB)
-DUMMYOBJ=dummy.obj
-!endif
-
-# Please set these according to the settings in wx_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
-MINIMAL_WXWINDOWS_SETUP=0
-
-PERIPH_LIBS=
-PERIPH_TARGET=
-PERIPH_CLEAN_TARGET=
-
-# These are absolute paths, so that the compiler
-# generates correct __FILE__ symbols for debugging.
-# Otherwise you don't be able to double-click on a memory
-# 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
-
-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
-
-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)\tooltip.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)/tooltip.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$@
-<<
+THISDIR=$(WXWIN)\src\msw
 
 
-$(COMMDIR)/log.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+!if "$(WXMAKINGDLL)" == "1"
+LIBTARGET=$(WXDIR)\lib\$(WXLIBNAME).dll
+!else
+LIBTARGET=$(WXLIB)
+!endif
 
 
-$(COMMDIR)/memory.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# This one overrides the others, to be consistent with the settings in setup.h
+MINIMAL_WXWINDOWS_SETUP=0
 
 
-$(COMMDIR)/mimetype.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+PERIPH_LIBS=
+PERIPH_TARGET=
+PERIPH_CLEAN_TARGET=
 
 
-$(COMMDIR)/module.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# Set to 0 if not using GLCanvas (only affects DLL build)
+USE_GLCANVAS=1
 
 
-$(COMMDIR)/object.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# Set to 0 if you are using MSVC 5
+USE_MSVC_5=0
 
 
-$(COMMDIR)/odbc.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# These are absolute paths, so that the compiler
+# generates correct __FILE__ symbols for debugging.
+# Otherwise you don't be able to double-click on a memory
+# error to load that file.
+GENDIR=$(WXDIR)\src\generic
+COMMDIR=$(WXDIR)\src\common
+OLEDIR=ole
+MSWDIR=$(WXDIR)\src\msw
+DOCDIR = $(WXDIR)\docs
+HTMLDIR = $(WXDIR)\src\html
+JPEGDIR = $(WXDIR)\src\jpeg
+TIFFDIR = $(WXDIR)\src\tiff
+REGEXDIR = $(WXDIR)\src\regex
+
+
+{$(GENDIR)}.cpp{$(GENDIR)\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
+<<
+
+{$(COMMDIR)}.cpp{$(COMMDIR)\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
+<<
+
+{$(COMMDIR)}.c{$(COMMDIR)\$D}.obj:
+       cl @<<
+$(CPPFLAGS2) /Fo$@ /c /Tc $<
+<<
+
+{$(MSWDIR)}.cpp{$(MSWDIR)\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
+<<
+
+{$(MSWDIR)}.c{$(MSWDIR)\$D}.obj:
+       cl @<<
+$(CPPFLAGS2) /Fo$@ /c /Tc $<
+<<
+
+{$(OLEDIR)}.cpp{$(OLEDIR)\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
+<<
+
+{$(HTMLDIR)}.cpp{$(HTMLDIR)\$D}.obj:
+       cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $<
+<<
+
+GENERICOBJS= $(GENDIR)\$D\busyinfo.obj \
+               $(GENDIR)\$D\calctrl.obj \
+               $(GENDIR)\$D\choicdgg.obj \
+               $(GENDIR)\$D\dcbuffer.obj \
+               $(GENDIR)\$D\dcpsg.obj \
+               $(GENDIR)\$D\dirctrlg.obj \
+               $(GENDIR)\$D\dragimgg.obj \
+               $(GENDIR)\$D\grid.obj \
+               $(GENDIR)\$D\gridctrl.obj \
+               $(GENDIR)\$D\gridsel.obj \
+               $(GENDIR)\$D\laywin.obj \
+               $(GENDIR)\$D\logg.obj \
+               $(GENDIR)\$D\numdlgg.obj \
+               $(GENDIR)\$D\panelg.obj \
+               $(GENDIR)\$D\progdlgg.obj \
+               $(GENDIR)\$D\prop.obj \
+               $(GENDIR)\$D\propform.obj \
+               $(GENDIR)\$D\proplist.obj \
+               $(GENDIR)\$D\sashwin.obj \
+               $(GENDIR)\$D\scrlwing.obj \
+               $(GENDIR)\$D\spinctlg.obj \
+               $(GENDIR)\$D\splash.obj \
+               $(GENDIR)\$D\splitter.obj \
+               $(GENDIR)\$D\statusbr.obj \
+               $(GENDIR)\$D\tbarsmpl.obj \
+               $(GENDIR)\$D\textdlgg.obj \
+               $(GENDIR)\$D\tipdlg.obj \
+               $(GENDIR)\$D\tipwin.obj \
+               $(GENDIR)\$D\treectlg.obj \
+               $(GENDIR)\$D\treelay.obj \
+               $(GENDIR)\$D\wizard.obj
 
 
-$(COMMDIR)/prntbase.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= $(GENDIR)\$D\colrdlgg.obj \
+               $(GENDIR)\$D\dirdlgg.obj \
+               $(GENDIR)\$D\fontdlgg.obj \
+               $(GENDIR)\$D\helpext.obj \
+               $(GENDIR)\$D\helphtml.obj \
+               $(GENDIR)\$D\imaglist.obj \
+               $(GENDIR)\$D\listctrl.obj \
+               $(GENDIR)\$D\msgdlgg.obj \
+               $(GENDIR)\$D\notebook.obj \
+               $(GENDIR)\$D\tabg.obj
 
 
-$(COMMDIR)/resource.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+COMMONOBJS = \
+               $(COMMDIR)\$D\y_tab.obj \
+               $(COMMDIR)\$D\appcmn.obj \
+               $(COMMDIR)\$D\artprov.obj \
+               $(COMMDIR)\$D\artstd.obj \
+               $(COMMDIR)\$D\choiccmn.obj \
+               $(COMMDIR)\$D\clipcmn.obj \
+               $(COMMDIR)\$D\clntdata.obj \
+               $(COMMDIR)\$D\cmdline.obj \
+               $(COMMDIR)\$D\cmdproc.obj \
+               $(COMMDIR)\$D\cmndata.obj \
+               $(COMMDIR)\$D\config.obj \
+               $(COMMDIR)\$D\containr.obj \
+               $(COMMDIR)\$D\cshelp.obj \
+               $(COMMDIR)\$D\ctrlcmn.obj \
+               $(COMMDIR)\$D\ctrlsub.obj \
+               $(COMMDIR)\$D\datetime.obj \
+               $(COMMDIR)\$D\datstrm.obj \
+               $(COMMDIR)\$D\db.obj \
+               $(COMMDIR)\$D\dbgrid.obj \
+               $(COMMDIR)\$D\dbtable.obj \
+               $(COMMDIR)\$D\dcbase.obj \
+               $(COMMDIR)\$D\dircmn.obj \
+               $(COMMDIR)\$D\dlgcmn.obj \
+               $(COMMDIR)\$D\dndcmn.obj \
+               $(COMMDIR)\$D\dobjcmn.obj \
+               $(COMMDIR)\$D\docmdi.obj \
+               $(COMMDIR)\$D\docview.obj \
+               $(COMMDIR)\$D\dseldlg.obj \
+               $(COMMDIR)\$D\dynarray.obj \
+               $(COMMDIR)\$D\dynlib.obj \
+               $(COMMDIR)\$D\dynload.obj \
+               $(COMMDIR)\$D\effects.obj \
+               $(COMMDIR)\$D\encconv.obj \
+               $(COMMDIR)\$D\event.obj \
+               $(COMMDIR)\$D\extended.obj \
+               $(COMMDIR)\$D\fddlgcmn.obj \
+               $(COMMDIR)\$D\ffile.obj \
+               $(COMMDIR)\$D\file.obj \
+               $(COMMDIR)\$D\fileconf.obj \
+               $(COMMDIR)\$D\filefn.obj \
+               $(COMMDIR)\$D\filename.obj \
+               $(COMMDIR)\$D\filesys.obj \
+               $(COMMDIR)\$D\fontcmn.obj \
+               $(COMMDIR)\$D\fontmap.obj \
+               $(COMMDIR)\$D\framecmn.obj \
+               $(COMMDIR)\$D\fs_inet.obj \
+               $(COMMDIR)\$D\fs_mem.obj \
+               $(COMMDIR)\$D\fs_zip.obj \
+               $(COMMDIR)\$D\ftp.obj \
+               $(COMMDIR)\$D\gaugecmn.obj \
+               $(COMMDIR)\$D\gdicmn.obj \
+               $(COMMDIR)\$D\geometry.obj \
+               $(COMMDIR)\$D\gifdecod.obj \
+               $(COMMDIR)\$D\hash.obj \
+               $(COMMDIR)\$D\hashmap.obj \
+               $(COMMDIR)\$D\helpbase.obj \
+               $(COMMDIR)\$D\http.obj \
+               $(COMMDIR)\$D\iconbndl.obj \
+               $(COMMDIR)\$D\imagall.obj \
+               $(COMMDIR)\$D\imagbmp.obj \
+               $(COMMDIR)\$D\image.obj \
+               $(COMMDIR)\$D\imagfill.obj \
+               $(COMMDIR)\$D\imaggif.obj \
+               $(COMMDIR)\$D\imagiff.obj \
+               $(COMMDIR)\$D\imagjpeg.obj \
+               $(COMMDIR)\$D\imagpcx.obj \
+               $(COMMDIR)\$D\imagpng.obj \
+               $(COMMDIR)\$D\imagpnm.obj \
+               $(COMMDIR)\$D\imagtiff.obj \
+               $(COMMDIR)\$D\imagxpm.obj \
+               $(COMMDIR)\$D\intl.obj \
+               $(COMMDIR)\$D\ipcbase.obj \
+               $(COMMDIR)\$D\layout.obj \
+               $(COMMDIR)\$D\lboxcmn.obj \
+               $(COMMDIR)\$D\list.obj \
+               $(COMMDIR)\$D\log.obj \
+               $(COMMDIR)\$D\longlong.obj \
+               $(COMMDIR)\$D\matrix.obj \
+               $(COMMDIR)\$D\memory.obj \
+               $(COMMDIR)\$D\menucmn.obj \
+               $(COMMDIR)\$D\mimecmn.obj \
+               $(COMMDIR)\$D\module.obj \
+               $(COMMDIR)\$D\mstream.obj \
+               $(COMMDIR)\$D\nbkbase.obj \
+               $(COMMDIR)\$D\object.obj \
+               $(COMMDIR)\$D\odbc.obj \
+               $(COMMDIR)\$D\paper.obj \
+               $(COMMDIR)\$D\popupcmn.obj \
+               $(COMMDIR)\$D\prntbase.obj \
+               $(COMMDIR)\$D\process.obj \
+               $(COMMDIR)\$D\protocol.obj \
+               $(COMMDIR)\$D\quantize.obj \
+               $(COMMDIR)\$D\radiocmn.obj \
+               $(COMMDIR)\$D\regex.obj \
+               $(COMMDIR)\$D\resource.obj \
+               $(COMMDIR)\$D\sckaddr.obj \
+               $(COMMDIR)\$D\sckfile.obj \
+               $(COMMDIR)\$D\sckipc.obj \
+               $(COMMDIR)\$D\sckstrm.obj \
+               $(COMMDIR)\$D\sizer.obj \
+               $(COMMDIR)\$D\socket.obj \
+               $(COMMDIR)\$D\statbar.obj \
+               $(COMMDIR)\$D\strconv.obj \
+               $(COMMDIR)\$D\stream.obj \
+               $(COMMDIR)\$D\string.obj \
+               $(COMMDIR)\$D\sysopt.obj \
+               $(COMMDIR)\$D\tbarbase.obj \
+               $(COMMDIR)\$D\textbuf.obj \
+               $(COMMDIR)\$D\textcmn.obj \
+               $(COMMDIR)\$D\textfile.obj \
+               $(COMMDIR)\$D\timercmn.obj \
+               $(COMMDIR)\$D\tokenzr.obj \
+               $(COMMDIR)\$D\toplvcmn.obj \
+               $(COMMDIR)\$D\treebase.obj \
+               $(COMMDIR)\$D\txtstrm.obj \
+               $(COMMDIR)\$D\unzip.obj \
+               $(COMMDIR)\$D\url.obj \
+               $(COMMDIR)\$D\utilscmn.obj \
+               $(COMMDIR)\$D\valgen.obj \
+               $(COMMDIR)\$D\validate.obj \
+               $(COMMDIR)\$D\valtext.obj \
+               $(COMMDIR)\$D\variant.obj \
+               $(COMMDIR)\$D\wfstream.obj \
+               $(COMMDIR)\$D\wincmn.obj \
+               $(COMMDIR)\$D\wxchar.obj \
+               $(COMMDIR)\$D\wxexpr.obj \
+               $(COMMDIR)\$D\xpmdecod.obj \
+               $(COMMDIR)\$D\zipstrm.obj \
+               $(COMMDIR)\$D\zstream.obj
+
+MSWOBJS = $(MSWDIR)\$D\accel.obj \
+               $(MSWDIR)\$D\app.obj \
+               $(OLEDIR)\$D\automtn.obj \
+               $(MSWDIR)\$D\bitmap.obj \
+               $(MSWDIR)\$D\bmpbuttn.obj \
+               $(MSWDIR)\$D\brush.obj \
+               $(MSWDIR)\$D\button.obj \
+               $(MSWDIR)\$D\caret.obj \
+               $(MSWDIR)\$D\checkbox.obj \
+               $(MSWDIR)\$D\checklst.obj \
+               $(MSWDIR)\$D\choice.obj \
+               $(MSWDIR)\$D\clipbrd.obj \
+               $(MSWDIR)\$D\colordlg.obj \
+               $(MSWDIR)\$D\colour.obj \
+               $(MSWDIR)\$D\combobox.obj \
+               $(MSWDIR)\$D\control.obj \
+               $(MSWDIR)\$D\curico.obj \
+               $(MSWDIR)\$D\cursor.obj \
+               $(MSWDIR)\$D\data.obj \
+               $(OLEDIR)\$D\dataobj.obj \
+               $(MSWDIR)\$D\dc.obj \
+               $(MSWDIR)\$D\dcclient.obj \
+               $(MSWDIR)\$D\dcmemory.obj \
+               $(MSWDIR)\$D\dcprint.obj \
+               $(MSWDIR)\$D\dcscreen.obj \
+               $(MSWDIR)\$D\dde.obj \
+               $(MSWDIR)\$D\dialog.obj \
+               $(MSWDIR)\$D\dialup.obj \
+               $(MSWDIR)\$D\dib.obj \
+               $(MSWDIR)\$D\dibutils.obj \
+               $(MSWDIR)\$D\dir.obj \
+               $(MSWDIR)\$D\dirdlg.obj \
+               $(MSWDIR)\$D\dragimag.obj \
+               $(OLEDIR)\$D\dropsrc.obj \
+               $(OLEDIR)\$D\droptgt.obj \
+               $(MSWDIR)\$D\enhmeta.obj \
+               $(MSWDIR)\$D\evtloop.obj \
+               $(MSWDIR)\$D\fdrepdlg.obj \
+               $(MSWDIR)\$D\filedlg.obj \
+               $(MSWDIR)\$D\font.obj \
+               $(MSWDIR)\$D\fontdlg.obj \
+               $(MSWDIR)\$D\fontenum.obj \
+               $(MSWDIR)\$D\fontutil.obj \
+               $(MSWDIR)\$D\frame.obj \
+               $(MSWDIR)\$D\gauge95.obj \
+               $(MSWDIR)\$D\gdiimage.obj \
+               $(MSWDIR)\$D\gdiobj.obj \
+               $(MSWDIR)\$D\glcanvas.obj \
+               $(MSWDIR)\$D\gsocket.obj \
+               $(MSWDIR)\$D\gsockmsw.obj \
+               $(MSWDIR)\$D\helpbest.obj \
+               $(MSWDIR)\$D\helpchm.obj \
+               $(MSWDIR)\$D\helpwin.obj \
+               $(MSWDIR)\$D\icon.obj \
+               $(MSWDIR)\$D\imaglist.obj \
+               $(MSWDIR)\$D\iniconf.obj \
+               $(MSWDIR)\$D\joystick.obj \
+               $(MSWDIR)\$D\listbox.obj \
+               $(MSWDIR)\$D\listctrl.obj \
+               $(MSWDIR)\$D\main.obj \
+               $(MSWDIR)\$D\mdi.obj \
+               $(MSWDIR)\$D\menu.obj \
+               $(MSWDIR)\$D\menuitem.obj \
+               $(MSWDIR)\$D\metafile.obj \
+               $(MSWDIR)\$D\mimetype.obj \
+               $(MSWDIR)\$D\minifram.obj \
+               $(MSWDIR)\$D\msgdlg.obj \
+               $(MSWDIR)\$D\mslu.obj \
+               $(MSWDIR)\$D\nativdlg.obj \
+               $(MSWDIR)\$D\notebook.obj \
+               $(OLEDIR)\$D\oleutils.obj \
+               $(MSWDIR)\$D\ownerdrw.obj \
+               $(MSWDIR)\$D\palette.obj \
+               $(MSWDIR)\$D\pen.obj \
+               $(MSWDIR)\$D\penwin.obj \
+               $(MSWDIR)\$D\printdlg.obj \
+               $(MSWDIR)\$D\printwin.obj \
+               $(MSWDIR)\$D\radiobox.obj \
+               $(MSWDIR)\$D\radiobut.obj \
+               $(MSWDIR)\$D\regconf.obj \
+               $(MSWDIR)\$D\region.obj \
+               $(MSWDIR)\$D\registry.obj \
+               $(MSWDIR)\$D\scrolbar.obj \
+               $(MSWDIR)\$D\settings.obj \
+               $(MSWDIR)\$D\slider95.obj \
+               $(MSWDIR)\$D\snglinst.obj \
+               $(MSWDIR)\$D\spinbutt.obj \
+               $(MSWDIR)\$D\spinctrl.obj \
+               $(MSWDIR)\$D\statbmp.obj \
+               $(MSWDIR)\$D\statbox.obj \
+               $(MSWDIR)\$D\statbr95.obj \
+               $(MSWDIR)\$D\statline.obj \
+               $(MSWDIR)\$D\stattext.obj \
+               $(MSWDIR)\$D\tabctrl.obj \
+               $(MSWDIR)\$D\taskbar.obj \
+               $(MSWDIR)\$D\tbar95.obj \
+               $(MSWDIR)\$D\textctrl.obj \
+               $(MSWDIR)\$D\tglbtn.obj \
+               $(MSWDIR)\$D\thread.obj \
+               $(MSWDIR)\$D\timer.obj \
+               $(MSWDIR)\$D\tooltip.obj \
+               $(MSWDIR)\$D\toplevel.obj \
+               $(MSWDIR)\$D\treectrl.obj \
+               $(MSWDIR)\$D\utils.obj \
+               $(MSWDIR)\$D\utilsexc.obj \
+               $(OLEDIR)\$D\uuid.obj \
+               $(MSWDIR)\$D\volume.obj \
+               $(MSWDIR)\$D\wave.obj \
+               $(MSWDIR)\$D\window.obj
+
+HTMLOBJS = $(HTMLDIR)\$D\helpctrl.obj \
+               $(HTMLDIR)\$D\helpdata.obj \
+               $(HTMLDIR)\$D\helpfrm.obj \
+               $(HTMLDIR)\$D\htmlcell.obj \
+               $(HTMLDIR)\$D\htmlfilt.obj \
+               $(HTMLDIR)\$D\htmlpars.obj \
+               $(HTMLDIR)\$D\htmltag.obj \
+               $(HTMLDIR)\$D\htmlwin.obj \
+               $(HTMLDIR)\$D\htmprint.obj \
+               $(HTMLDIR)\$D\m_dflist.obj \
+               $(HTMLDIR)\$D\m_fonts.obj \
+               $(HTMLDIR)\$D\m_hline.obj \
+               $(HTMLDIR)\$D\m_image.obj \
+               $(HTMLDIR)\$D\m_layout.obj \
+               $(HTMLDIR)\$D\m_links.obj \
+               $(HTMLDIR)\$D\m_list.obj \
+               $(HTMLDIR)\$D\m_meta.obj \
+               $(HTMLDIR)\$D\m_pre.obj \
+               $(HTMLDIR)\$D\m_style.obj \
+               $(HTMLDIR)\$D\m_tables.obj \
+               $(HTMLDIR)\$D\winpars.obj
 
 
-$(COMMDIR)/tbarbase.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
 
 
-$(COMMDIR)/tbarsmpl.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
+# Add $(HTMLOBJS) if wanting wxHTML classes
+OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
 
 
-$(COMMDIR)/textfile.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+ARCHINCDIR=$(WXDIR)\lib\msw$(INCEXT)
+SETUP_H=$(ARCHINCDIR)\wx\setup.h
 
 
-$(COMMDIR)/timercmn.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+# Normal, static library
+all:    dirs $(SETUP_H) $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib jpeg tiff regex $(LIBTARGET)
 
 
-$(COMMDIR)/utilscmn.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(ARCHINCDIR)\wx:
+    mkdir $(ARCHINCDIR)
+    mkdir $(ARCHINCDIR)\wx
 
 
-$(COMMDIR)/validate.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(WXDIR)\include\wx\msw\setup.h:
+    cd $(WXDIR)\include\wx\msw
+    if not exist setup.h copy setup0.h setup.h
+    cd $(WXDIR)\src\msw
 
 
-$(COMMDIR)/valtext.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(SETUP_H): $(WXDIR)\include\wx\msw\setup.h
+    copy $(WXDIR)\include\wx\msw\setup.h $@
 
 
-$(COMMDIR)/date.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D $(JPEGDIR)\$D $(TIFFDIR)\$D $(REGEXDIR)\$D $(ARCHINCDIR)\wx $(WXDIR)\$D
 
 
-$(COMMDIR)/wxexpr.obj:     $*.$(SRCSUFF)
-        echo $(CPPFLAGS)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$D:
+    mkdir $D
 
 
-$(COMMDIR)/hash.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(COMMDIR)\$D:
+    mkdir $(COMMDIR)\$D
 
 
-$(COMMDIR)/list.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(MSWDIR)\$D:
+    mkdir $(MSWDIR)\$D
 
 
-$(COMMDIR)/string.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(GENDIR)\$D:
+    mkdir $(GENDIR)\$D
 
 
-$(COMMDIR)/socket.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(OLEDIR)\$D:
+    mkdir $(OLEDIR)\$D
 
 
-$(COMMDIR)/sckaddr.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(HTMLDIR)\$D:
+    mkdir $(HTMLDIR)\$D
 
 
-$(COMMDIR)/sckfile.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(JPEGDIR)\$D:
+    mkdir $(JPEGDIR)\$D
 
 
-$(COMMDIR)/sckipc.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(TIFFDIR)\$D:
+    mkdir $(TIFFDIR)\$D
 
 
-$(COMMDIR)/sckstrm.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(REGEXDIR)\$D:
+    mkdir $(REGEXDIR)\$D
 
 
-$(COMMDIR)/url.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(WXDIR)\$D:
+    mkdir $(WXDIR)\$D
 
 
-$(COMMDIR)/http.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
 
 
-$(COMMDIR)/protocol.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) UNICODE=$(UNICODE) MSLU=$(MSLU)
 
 
-$(COMMDIR)/tokenzr.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+cleandll:
+        nmake -f makefile.vc clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME) UNICODE=$(UNICODE) MSLU=$(MSLU)
 
 
-$(COMMDIR)/matrix.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 UNICODE=$(UNICODE) MSLU=$(MSLU)
 
 
-$(COMMDIR)/time.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 UNICODE=$(UNICODE) MSLU=$(MSLU)
 
 
-$(COMMDIR)\stream.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)\wfstream.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+pch1:   dirs $(DUMMYOBJ)
+    echo $(DUMMYOBJ)
 
 
-$(COMMDIR)\mstream.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+!if "$(WXMAKINGDLL)" != "1"
 
 
-$(COMMDIR)\zstream.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+### Static library
 
 
-$(COMMDIR)\datstrm.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+$(WXDIR)\lib\$(WXLIBNAME).lib:      $(DUMMYOBJ) $(OBJECTS) $(PERIPH_LIBS)
+       -erase $(LIBTARGET)
+       $(implib) @<<
+-out:$@
+-machine:$(CPU)
+$(OBJECTS) $(DUMMYOBJ) $(PERIPH_LIBS)
 <<
 
 <<
 
-$(COMMDIR)\objstrm.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+!else
 
 
-$(COMMDIR)/extended.obj:     $*.c
-        cl @<<
-$(CPPFLAGS2) /c $*.c /Fo$@
-<<
+### Update the import library
 
 
-$(COMMDIR)/process.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)/variant.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+!if "$(USE_GLCANVAS)" == "1"
+GL_LIBS=opengl32.lib glu32.lib
+# GL_LIBS_DELAY=/delayload:opengl32.dll
+!endif
 
 
-$(COMMDIR)/wincmn.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+!if "$(USE_MSVC_5)" == "1"
+# we are too big
+INCREMENTAL=/INCREMENTAL:NO
+DELAY_LOAD=
+!else
+INCREMENTAL=
+DELAY_LOAD=delayimp.lib \
+       /delayload:ws2_32.dll /delayload:advapi32.dll /delayload:user32.dll \
+        /delayload:gdi32.dll \
+       /delayload:comdlg32.dll /delayload:shell32.dll /delayload:comctl32.dll \
+        /delayload:ole32.dll \
+       /delayload:oleaut32.dll /delayload:rpcrt4.dll $(GL_LIBS_DELAY)
+!endif
 
 
-$(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)
+    $(link) @<<
+    $(LINKFLAGS) $(INCREMENTAL)
+    -out:$(WXDIR)\lib\$(WXLIBNAME).dll
+    $(DUMMYOBJ) $(OBJECTS) $(MSLU_LIBS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(GL_LIBS) $(WXDIR)\lib\png$(LIBEXT).lib $(WXDIR)\lib\zlib$(LIBEXT).lib $(WXDIR)\lib\jpeg$(LIBEXT).lib $(WXDIR)\lib\tiff$(LIBEXT).lib $(WXDIR)\lib\regex$(LIBEXT).lib $(DELAY_LOAD)
 <<
 
 <<
 
-$(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
+# /delayload:winmm.dll # Removed because it can cause a crash for some people
 
 ########################################################
 
 ########################################################
-# Generic objects (not always compiled, depending on
-# whether platforms have native implementations)
+# Windows-specific objects
 
 
-$(GENDIR)/choicdgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
-<<
+$(DUMMYOBJ): $(DUMMY).$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(SETUP_H)
+        cl $(CPPFLAGS) $(MAKEPRECOMP) /Fo$(DUMMYOBJ) /c /Tp $(DUMMY).cpp
 
 
-$(GENDIR)/colrdlgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+# Compile certain files with no optimization (some files cause a
+# compiler crash for buggy versions of VC++, e.g. 4.0).
+# Don't forget to put FINAL=1 on the command line.
+noopt:
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\datetime.obj /c /Tp $(COMMDIR)\datetime.cpp
 <<
 <<
-
-$(GENDIR)/fontdlgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\encconv.obj /c /Tp $(COMMDIR)\encconv.cpp
 <<
 <<
-
-$(GENDIR)/gridg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\fileconf.obj /c /Tp $(COMMDIR)\fileconf.cpp
 <<
 <<
-
-$(GENDIR)/helpxlp.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\hash.obj /c /Tp $(COMMDIR)\hash.cpp
 <<
 <<
-
-$(GENDIR)/laywin.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\resource.obj /c /Tp $(COMMDIR)\resource.cpp
 <<
 <<
-
-$(GENDIR)/msgdlgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\textfile.obj /c /Tp $(COMMDIR)\textfile.cpp
 <<
 <<
-
-$(GENDIR)/panelg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\choicdgg.obj /c /Tp $(GENDIR)\choicdgg.cpp
 <<
 <<
-
-$(GENDIR)/prop.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\grid.obj /c /Tp $(GENDIR)\grid.cpp
 <<
 <<
-
-$(GENDIR)/propform.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\gridsel.obj /c /Tp $(GENDIR)\gridsel.cpp
 <<
 <<
-
-$(GENDIR)/proplist.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\logg.obj /c /Tp $(GENDIR)\logg.cpp
 <<
 <<
-
-$(GENDIR)/printps.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\proplist.obj /c /Tp $(GENDIR)\proplist.cpp
 <<
 <<
-
-$(GENDIR)/prntdlgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\clipbrd.obj /c /Tp $(MSWDIR)\clipbrd.cpp
 <<
 <<
-
-$(GENDIR)/sashwin.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\control.obj /c /Tp $(MSWDIR)\control.cpp
 <<
 <<
-
-$(GENDIR)/scrolwin.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\listbox.obj /c /Tp $(MSWDIR)\listbox.cpp
 <<
 <<
-
-$(GENDIR)/splitter.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\mdi.obj /c /Tp $(MSWDIR)\mdi.cpp
 <<
 <<
-
-$(GENDIR)/statusbr.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\menu.obj /c /Tp $(MSWDIR)\menu.cpp
 <<
 <<
-
-$(GENDIR)/tabg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\notebook.obj /c /Tp $(MSWDIR)\notebook.cpp
 <<
 <<
-
-$(GENDIR)/textdlgg.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\tbar95.obj /c /Tp $(MSWDIR)\tbar95.cpp
 <<
 <<
-
-$(GENDIR)/treectrl.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\treectrl.obj /c /Tp $(MSWDIR)\treectrl.cpp
 <<
 <<
-
-$(GENDIR)/imaglist.obj:     $*.$(SRCSUFF)
-        cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(HTMLDIR)\$D\helpfrm.obj /c /Tp $(HTMLDIR)\helpfrm.cpp
 <<
 
 <<
 
-$(GENDIR)/listctrl.obj:     $*.$(SRCSUFF)
+$(COMMDIR)\$D\y_tab.obj:     $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
         cl @<<
         cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+$(CPPFLAGS2) /c $(COMMDIR)\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
 <<
 
 <<
 
-$(GENDIR)/notebook.obj:     $*.$(SRCSUFF)
+$(COMMDIR)\y_tab.c:     $(COMMDIR)\dosyacc.c
+        copy "$(COMMDIR)"\dosyacc.c "$(COMMDIR)"\y_tab.c
+
+$(COMMDIR)\lex_yy.c:    $(COMMDIR)\doslex.c
+    copy "$(COMMDIR)"\doslex.c "$(COMMDIR)"\lex_yy.c
+
+$(OBJECTS):    $(SETUP_H)
+
+$(COMMDIR)\$D\unzip.obj:     $(COMMDIR)\unzip.c
         cl @<<
         cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+$(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
 <<
 
 <<
 
-$(OBJECTS):    $(WXDIR)/include/wx/setup.h
-
 # Peripheral components
 
 png:
     cd $(WXDIR)\src\png
 # Peripheral components
 
 png:
     cd $(WXDIR)\src\png
-    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
+    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
     cd $(WXDIR)\src\msw
 
 clean_png:
     cd $(WXDIR)\src\msw
 
 clean_png:
@@ -1209,7 +641,7 @@ clean_png:
 
 zlib:
     cd $(WXDIR)\src\zlib
 
 zlib:
     cd $(WXDIR)\src\zlib
-    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
+    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
     cd $(WXDIR)\src\msw
 
 clean_zlib:
     cd $(WXDIR)\src\msw
 
 clean_zlib:
@@ -1217,13 +649,33 @@ clean_zlib:
     nmake -f makefile.vc clean
     cd $(WXDIR)\src\msw
 
     nmake -f makefile.vc clean
     cd $(WXDIR)\src\msw
 
-xpm:
-    cd $(WXDIR)\src\xpm
-    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
+jpeg:
+    cd $(WXDIR)\src\jpeg
+    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)  CRTFLAG=$(CRTFLAG) all
+    cd $(WXDIR)\src\msw
+
+clean_jpeg:
+    cd $(WXDIR)\src\jpeg
+    nmake -f makefile.vc clean
+    cd $(WXDIR)\src\msw
+
+tiff:
+    cd $(WXDIR)\src\tiff
+    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)  CRTFLAG=$(CRTFLAG) all
+    cd $(WXDIR)\src\msw
+
+clean_tiff:
+    cd $(WXDIR)\src\tiff
+    nmake -f makefile.vc clean
+    cd $(WXDIR)\src\msw
+
+regex:
+    cd $(WXDIR)\src\regex
+    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) all
     cd $(WXDIR)\src\msw
 
     cd $(WXDIR)\src\msw
 
-clean_xpm:
-    cd $(WXDIR)\src\xpm
+clean_regex:
+    cd $(WXDIR)\src\regex
     nmake -f makefile.vc clean
     cd $(WXDIR)\src\msw
 
     nmake -f makefile.vc clean
     cd $(WXDIR)\src\msw
 
@@ -1232,303 +684,166 @@ rcparser:
     nmake -f makefile.vc FINAL=$(FINAL)
     cd $(WXDIR)\src\msw
 
     nmake -f makefile.vc FINAL=$(FINAL)
     cd $(WXDIR)\src\msw
 
-clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_xpm
-        -erase *.obj
+cleanall: clean clean_png clean_zlib clean_jpeg clean_tiff clean_regex
+        -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).dll
+        -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).lib
+        -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).exp
+        -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).pdb
+        -erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).ilk
+
+
+clean: $(PERIPH_CLEAN_TARGET)
         -erase $(LIBTARGET)
         -erase $(LIBTARGET)
-        -erase $(WXDIR)\lib\*.pdb
-        -erase ..\..\lib\wx200.dll
-        -erase ..\..\lib\wx200.lib
-        -erase ..\..\lib\wx200.exp
-        -erase ..\..\lib\wx200.pdb
-        -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 $(WXDIR)\lib\$(WXLIBNAME).pdb
         -erase *.pdb
         -erase *.sbr
         -erase *.pdb
         -erase *.sbr
-        -erase *.obj
-        cd $(WXDIR)\src\msw
-#        -erase ..\common\wxstrgnu\*.obj
-#        -erase ..\common\lex_yy.c
-#        -erase ..\common\y_tab.c
-
-cleanall: clean
+        -erase $(WXLIBNAME).pch
+       -erase $(WXDIR)\$D\$(PCH)
+       -erase $(WXDIR)\$D\*.pdb
+       -erase $(WXDIR)\$D\*.obj
+        -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 $(MSWDIR)\$D\*.pch
+        -erase $(OLEDIR)\$D\*.obj
+        -erase $(OLEDIR)\$D\*.sbr
+        -erase $(OLEDIR)\$D\*.pdb
+        -erase $(HTMLDIR)\$D\*.obj
+        -erase $(HTMLDIR)\$D\*.sbr
+        -erase $(HTMLDIR)\$D\*.pdb
+        -erase $(JPEGDIR)\$D\*.obj
+        -erase $(JPEGDIR)\$D\*.sbr
+        -erase $(JPEGDIR)\$D\*.idb
+        -erase $(JPEGDIR)\$D\*.pdb
+        -erase $(TIFFDIR)\$D\*.obj
+        -erase $(TIFFDIR)\$D\*.sbr
+        -erase $(TIFFDIR)\$D\*.pdb
+        -erase $(TIFFDIR)\$D\*.idb
+        -rmdir $(D)
+        -rmdir $(GENDIR)\$(D)
+        -rmdir $(COMMDIR)\$(D)
+        -rmdir $(MSWDIR)\$(D)
+        -rmdir $(OLEDIR)\$(D)
+        -rmdir $(HTMLDIR)\$(D)
+        -rmdir $(JPEGDIR)\$(D)
+        -rmdir $(TIFFDIR)\$(D)
+       -rmdir $(WXDIR)\$D
 
 # Making documents
 
 # Making documents
-docs:   allhlp allhtml allpdfrtf
+docs:   allhlp allhtml allpdfrtf allhtb allhtmlhelp
 alldocs: docs
 alldocs: docs
-hlp:    wxhlp portinghlp # faqhlp
+hlp:    wxhlp
 wxhlp:  $(DOCDIR)/winhelp/wx.hlp
 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
 rtf:    $(DOCDIR)/winhelp/wx.rtf
-faqrtf: $(DOCDIR)/winhelp/faq.rtf
-proprtf: $(DOCDIR)/winhelp/prop.rtf
 pdfrtf:    $(DOCDIR)/pdf/wx.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
+htb:   $(DOCDIR)\htb\wx.htb
 wxhtml:        $(DOCDIR)\html\wx\wx.htm
 wxhtml:        $(DOCDIR)\html\wx\wx.htm
-faqhtml: $(DOCDIR)\html\faq\faq.htm
-prophtml: $(DOCDIR)\html\proplist\prop.htm
-ps:     wxps referencps # faqps
+htmlhelp: $(DOCDIR)\htmlhelp\wx.chm
+ps:     wxps
 wxps:  $(WXDIR)\docs\ps\wx.ps
 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
-portingrtf: $(DOCDIR)/winhelp/porting.rtf
-portinghlp: $(DOCDIR)/winhelp/porting.hlp
-portingpdfrtf: $(DOCDIR)/pdf/porting.rtf
-portingps:     $(WXDIR)\docs\ps\porting.ps
-
-allhlp: wxhlp portinghlp prop # faqhlp
+allhlp: wxhlp
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc hlp
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc hlp
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc hlp
+        cd $(WXDIR)\contrib\src\fl
+        nmake -f makefile.vc hlp
         cd $(THISDIR)
 
         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
-#        nmake -f makefile.vc hlp
-#        cd $(WXDIR)\utils\wxchart\src
-#        nmake -f makefile.vc hlp
-#        cd $(WXDIR)\utils\wxtree\src
-#        nmake -f makefile.vc hlp
-#        cd $(WXDIR)\utils\wxbuild\src
-#        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
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc html
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc html
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc html
+        cd $(WXDIR)\contrib\src\fl
+        cd $(THISDIR)
+
+allhtmlhelp: htmlhelp
+        cd $(WXDIR)\utils\dialoged\src
+        nmake -f makefile.vc htmlhelp
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc htmlhelp
+        cd $(WXDIR)\contrib\src\fl
+        nmake -f makefile.vc htmlhelp
+        cd $(THISDIR)
+
+allhtb: htb
+        cd $(WXDIR)\utils\dialoged\src
+        nmake -f makefile.vc htb
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc htb
+        cd $(WXDIR)\contrib\src\fl
+        nmake -f makefile.vc htb
         cd $(THISDIR)
 
         cd $(THISDIR)
 
-#        nmake -f makefile.vc html
-#        cd $(WXDIR)\utils\dialoged\src
-#        nmake -f makefile.vc html
-#        cd $(WXDIR)\utils\hytext\src
-#        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
-#        nmake -f makefile.vc html
-#        cd $(WXDIR)\utils\wxchart\src
-#        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
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc ps
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc ps
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc ps
+        cd $(WXDIR)\contrib\src\fl
+        nmake -f makefile.vc ps
         cd $(THISDIR)
 
         cd $(THISDIR)
 
-allpdfrtf: pdfrtf portingpdfrtf proppdfrtf # faqpdfrtf
+allpdfrtf: pdfrtf
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc pdfrtf
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc pdfrtf
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc pdfrtf
+        cd $(WXDIR)\contrib\src\fl
+        nmake -f makefile.vc pdfrtf
         cd $(THISDIR)
 
         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
-#        nmake -f makefile.vc ps
-#        cd $(WXDIR)\utils\wxchart\src
-#        nmake -f makefile.vc ps
-#        cd $(WXDIR)\utils\wxtree\src
-#        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
         hc wx
 $(DOCDIR)/winhelp/wx.hlp:         $(DOCDIR)/latex/wx/wx.rtf $(DOCDIR)/latex/wx/wx.hpj
         cd $(DOCDIR)/latex/wx
         -erase wx.ph
         hc wx
+        -erase $(DOCDIR)\winhelp\wx.hlp
+        -erase $(DOCDIR)\winhelp\wx.cnt
         move wx.hlp $(DOCDIR)\winhelp\wx.hlp
         move wx.cnt $(DOCDIR)\winhelp\wx.cnt
         cd $(THISDIR)
 
         move wx.hlp $(DOCDIR)\winhelp\wx.hlp
         move wx.cnt $(DOCDIR)\winhelp\wx.cnt
         cd $(THISDIR)
 
-$(DOCDIR)/winhelp/porting.hlp:         $(DOCDIR)/latex/porting/porting.rtf $(DOCDIR)/latex/porting/porting.hpj
-        cd $(DOCDIR)/latex/porting
-        -erase porting.ph
-        hc porting
-        move porting.hlp $(DOCDIR)\winhelp\porting.hlp
-        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
-        hc prop
-        move prop.hlp $(DOCDIR)\winhelp\prop.hlp
-        move prop.cnt $(DOCDIR)\winhelp\prop.cnt
-        cd $(THISDIR)
-
-$(DOCDIR)/winhelp/techref.hlp:         $(DOCDIR)/latex/techref/techref.rtf $(DOCDIR)/latex/techref/techref.hpj
-        cd $(DOCDIR)/latex/techref
-        -erase techref.ph
-        hc techref
-        move techref.hlp $(DOCDIR)\winhelp\techref.hlp
-        move techref.cnt $(DOCDIR)\winhelp\techref.cnt
-        cd $(THISDIR)
-
 $(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
 $(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
-        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
-        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
-        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/wx/manual.tex $(DOCDIR)/latex/wx/wx.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
         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
-        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
-        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
-        cd $(DOCDIR)\latex\proplist
-        -copy *.bmp *.wmf $(DOCDIR)\pdf
-        -start /w 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
+        -copy *.wmf $(DOCDIR)\pdf
+        -copy *.bmp $(DOCDIR)\pdf
+        -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/pdf/wx.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
         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
+        copy *.gif $(DOCDIR)\html\wx
+        -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
         -erase $(DOCDIR)\latex\wx\*.ref
          cd $(THISDIR)
 
         -erase $(DOCDIR)\html\wx\*.con
         -erase $(DOCDIR)\html\wx\*.ref
         -erase $(DOCDIR)\latex\wx\*.con
         -erase $(DOCDIR)\latex\wx\*.ref
          cd $(THISDIR)
 
-$(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
-        -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
-        -erase $(DOCDIR)\html\proplist\*.con
-        -erase $(DOCDIR)\html\proplist\*.ref
-        -erase $(DOCDIR)\latex\proplist\*.con
-        -erase $(DOCDIR)\latex\proplist\*.ref
-        cd $(THISDIR)
+$(DOCDIR)\htmlhelp\wx.chm : $(DOCDIR)\html\wx\wx.htm $(DOCDIR)\html\wx\wx.hhp
+       cd $(DOCDIR)\html\wx
+       -hhc wx.hhp
+    -mkdir ..\..\htmlhelp
+    -erase $(DOCDIR)\htmlhelp\wx.chm
+    move wx.chm ..\..\htmlhelp
+       cd $(THISDIR)
 
 $(WXDIR)\docs\latex\wx\manual.dvi:     $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
        cd $(WXDIR)\docs\latex\wx
 
 $(WXDIR)\docs\latex\wx\manual.dvi:     $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
        cd $(WXDIR)\docs\latex\wx
@@ -1540,28 +855,12 @@ $(WXDIR)\docs\latex\wx\manual.dvi:       $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/w
         -latex manual
         cd $(THISDIR)
 
         -latex manual
         cd $(THISDIR)
 
-$(WXDIR)\docs\latex\porting\porting.dvi:       $(DOCDIR)/latex/porting/porting.tex
-       cd $(WXDIR)\docs\latex\porting
-        -latex porting
-        -latex porting
-        -makeindx porting
-        -bibtex porting
-        -latex porting
-        -latex porting
-        cd $(THISDIR)
-
 $(WXDIR)\docs\ps\wx.ps:        $(WXDIR)\docs\latex\wx\manual.dvi
        cd $(WXDIR)\docs\latex\wx
         -dvips32 -o wx.ps manual
         move wx.ps $(WXDIR)\docs\ps\wx.ps
         cd $(THISDIR)
 
 $(WXDIR)\docs\ps\wx.ps:        $(WXDIR)\docs\latex\wx\manual.dvi
        cd $(WXDIR)\docs\latex\wx
         -dvips32 -o wx.ps manual
         move wx.ps $(WXDIR)\docs\ps\wx.ps
         cd $(THISDIR)
 
-$(WXDIR)\docs\ps\porting.ps:   $(WXDIR)\docs\latex\porting\porting.dvi
-       cd $(WXDIR)\docs\latex\porting
-        -dvips32 -o porting.ps porting
-        move porting.ps $(WXDIR)\docs\ps\porting.ps
-        cd $(THISDIR)
-
 $(WXDIR)\docs\latex\wx\referenc.dvi:   $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/referenc.tex
        cd $(WXDIR)\docs\latex\wx
         -latex referenc
 $(WXDIR)\docs\latex\wx\referenc.dvi:   $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/referenc.tex
        cd $(WXDIR)\docs\latex\wx
         -latex referenc
@@ -1578,20 +877,17 @@ $(WXDIR)\docs\ps\referenc.ps:    $(WXDIR)\docs\latex\wx\referenc.dvi
         move referenc.ps $(WXDIR)\docs\ps\referenc.ps
         cd $(THISDIR)
 
         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)
+# An htb file is a zip file containing the .htm, .gif, .hhp, .hhc and .hhk
+# files, renamed to htb.
+# This can then be used with e.g. helpview.
+# Optionally, a cached version of the .hhp file can be generated with hhp2cached.
+$(DOCDIR)\htb\wx.htb: $(DOCDIR)\html\wx\wx.htm
+       cd $(WXDIR)\docs\html\wx
+    -erase wx.zip wx.htb
+    zip wx.zip *.htm *.gif *.hhp *.hhc *.hhk
+    -mkdir $(DOCDIR)\htb
+    move wx.zip $(DOCDIR)\htb\wx.htb
+    cd $(THISDIR)
 
 # In order to force document reprocessing
 touchmanual:
 
 # In order to force document reprocessing
 touchmanual:
@@ -1599,8 +895,25 @@ touchmanual:
 
 updatedocs: touchmanual alldocs
 
 
 updatedocs: touchmanual alldocs
 
+cleandocs:
+    -erase $(DOCDIR)\winhelp\wx.hlp
+    -erase $(DOCDIR)\winhelp\wx.cnt
+    -erase $(DOCDIR)\html\wx\*.htm
+    -erase $(DOCDIR)\pdf\wx.rtf
+    -erase $(DOCDIR)\latex\wx\wx.rtf
+    -erase $(DOCDIR)\latex\wx\WX.PH
+    -erase $(DOCDIR)\htmlhelp\wx.chm
+    -erase $(DOCDIR)\htb\wx.htb
+
 # Start Word, running the GeneratePDF macro. MakeManual.dot should be in the
 # Office StartUp folder, and PDFMaker should be installed.
 updatepdf:  # touchmanual pdfrtf
 # 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"
+
+
+MFTYPE=vc
+makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
+       cd $(WXWIN)\distrib\msw\tmake
+       tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
+       copy makefile.$(MFTYPE) $(WXWIN)\src\msw