]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/makefile.vc
yet another attempt to wxFrame's last focus bug
[wxWidgets.git] / src / msw / makefile.vc
index 58344b50a96b798322b175a2b15d1b26930c0128..35f0b0f0f84b86fac54049c3156a6b2fdc2596b0 100644 (file)
@@ -1,4 +1,4 @@
-# This file was automatically generated by tmake at 14:31, 2000/01/19
+# This file was automatically generated by tmake at 18:20, 2001/05/27
 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
 
 # File:     makefile.vc
@@ -27,9 +27,6 @@ LIBTARGET=$(WXLIB)
 DUMMYOBJ=$D\dummy.obj
 !endif
 
-# 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 setup.h
 MINIMAL_WXWINDOWS_SETUP=0
 
@@ -37,6 +34,9 @@ PERIPH_LIBS=
 PERIPH_TARGET=
 PERIPH_CLEAN_TARGET=
 
+# Set to 0 if not using GLCanvas (only affects DLL build)
+USE_GLCANVAS=1
+
 # 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
@@ -86,23 +86,30 @@ $(CPPFLAGS) /Fo$@ /c /Tp $<
 GENERICOBJS= ..\generic\$D\busyinfo.obj \
                ..\generic\$D\calctrl.obj \
                ..\generic\$D\choicdgg.obj \
+               ..\generic\$D\dirctrlg.obj \
+               ..\generic\$D\dragimgg.obj \
                ..\generic\$D\grid.obj \
+               ..\generic\$D\gridctrl.obj \
+               ..\generic\$D\gridsel.obj \
                ..\generic\$D\laywin.obj \
                ..\generic\$D\logg.obj \
                ..\generic\$D\numdlgg.obj \
                ..\generic\$D\panelg.obj \
-               ..\generic\$D\plot.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\splash.obj \
                ..\generic\$D\splitter.obj \
                ..\generic\$D\statusbr.obj \
                ..\generic\$D\tbarsmpl.obj \
                ..\generic\$D\textdlgg.obj \
                ..\generic\$D\tipdlg.obj \
+               ..\generic\$D\tipwin.obj \
+               ..\generic\$D\treectlg.obj \
+               ..\generic\$D\treelay.obj \
                ..\generic\$D\wizard.obj
 
 # These are generic things that don't need to be compiled on MSW,
@@ -121,11 +128,11 @@ NONESSENTIALOBJS= ..\generic\$D\caret.obj \
                ..\generic\$D\listctrl.obj \
                ..\generic\$D\msgdlgg.obj \
                ..\generic\$D\notebook.obj \
+               ..\generic\$D\paletteg.obj \
                ..\generic\$D\printps.obj \
                ..\generic\$D\prntdlgg.obj \
                ..\generic\$D\statline.obj \
-               ..\generic\$D\tabg.obj \
-               ..\generic\$D\treectrl.obj
+               ..\generic\$D\tabg.obj
 
 COMMONOBJS = \
                ..\common\$D\y_tab.obj \
@@ -135,6 +142,7 @@ COMMONOBJS = \
                ..\common\$D\cmdline.obj \
                ..\common\$D\cmndata.obj \
                ..\common\$D\config.obj \
+               ..\common\$D\cshelp.obj \
                ..\common\$D\ctrlcmn.obj \
                ..\common\$D\ctrlsub.obj \
                ..\common\$D\datetime.obj \
@@ -142,12 +150,15 @@ COMMONOBJS = \
                ..\common\$D\db.obj \
                ..\common\$D\dbtable.obj \
                ..\common\$D\dcbase.obj \
+               ..\common\$D\dircmn.obj \
                ..\common\$D\dlgcmn.obj \
+               ..\common\$D\dndcmn.obj \
                ..\common\$D\dobjcmn.obj \
                ..\common\$D\docmdi.obj \
                ..\common\$D\docview.obj \
                ..\common\$D\dynarray.obj \
                ..\common\$D\dynlib.obj \
+               ..\common\$D\effects.obj \
                ..\common\$D\encconv.obj \
                ..\common\$D\event.obj \
                ..\common\$D\extended.obj \
@@ -155,14 +166,17 @@ COMMONOBJS = \
                ..\common\$D\file.obj \
                ..\common\$D\fileconf.obj \
                ..\common\$D\filefn.obj \
+               ..\common\$D\filename.obj \
                ..\common\$D\filesys.obj \
                ..\common\$D\fontcmn.obj \
                ..\common\$D\fontmap.obj \
                ..\common\$D\framecmn.obj \
                ..\common\$D\fs_inet.obj \
+               ..\common\$D\fs_mem.obj \
                ..\common\$D\fs_zip.obj \
                ..\common\$D\ftp.obj \
                ..\common\$D\gdicmn.obj \
+               ..\common\$D\geometry.obj \
                ..\common\$D\gifdecod.obj \
                ..\common\$D\hash.obj \
                ..\common\$D\helpbase.obj \
@@ -176,6 +190,7 @@ COMMONOBJS = \
                ..\common\$D\imagpng.obj \
                ..\common\$D\imagpnm.obj \
                ..\common\$D\imagtiff.obj \
+               ..\common\$D\imagxpm.obj \
                ..\common\$D\intl.obj \
                ..\common\$D\ipcbase.obj \
                ..\common\$D\layout.obj \
@@ -183,6 +198,7 @@ COMMONOBJS = \
                ..\common\$D\list.obj \
                ..\common\$D\log.obj \
                ..\common\$D\longlong.obj \
+               ..\common\$D\matrix.obj \
                ..\common\$D\memory.obj \
                ..\common\$D\menucmn.obj \
                ..\common\$D\mimecmn.obj \
@@ -195,6 +211,7 @@ COMMONOBJS = \
                ..\common\$D\prntbase.obj \
                ..\common\$D\process.obj \
                ..\common\$D\protocol.obj \
+               ..\common\$D\quantize.obj \
                ..\common\$D\resource.obj \
                ..\common\$D\sckaddr.obj \
                ..\common\$D\sckfile.obj \
@@ -211,6 +228,7 @@ COMMONOBJS = \
                ..\common\$D\textfile.obj \
                ..\common\$D\timercmn.obj \
                ..\common\$D\tokenzr.obj \
+               ..\common\$D\treebase.obj \
                ..\common\$D\txtstrm.obj \
                ..\common\$D\unzip.obj \
                ..\common\$D\url.obj \
@@ -223,6 +241,7 @@ COMMONOBJS = \
                ..\common\$D\wincmn.obj \
                ..\common\$D\wxchar.obj \
                ..\common\$D\wxexpr.obj \
+               ..\common\$D\xpmdecod.obj \
                ..\common\$D\zipstrm.obj \
                ..\common\$D\zstream.obj
 
@@ -271,7 +290,10 @@ MSWOBJS = ..\msw\$D\accel.obj \
                ..\msw\$D\gauge95.obj \
                ..\msw\$D\gdiimage.obj \
                ..\msw\$D\gdiobj.obj \
+               ..\msw\$D\glcanvas.obj \
                ..\msw\$D\gsocket.obj \
+               ..\msw\$D\gsockmsw.obj \
+               ..\msw\$D\helpchm.obj \
                ..\msw\$D\helpwin.obj \
                ..\msw\$D\icon.obj \
                ..\msw\$D\imaglist.obj \
@@ -314,6 +336,7 @@ MSWOBJS = ..\msw\$D\accel.obj \
                ..\msw\$D\taskbar.obj \
                ..\msw\$D\tbar95.obj \
                ..\msw\$D\textctrl.obj \
+               ..\msw\$D\tglbtn.obj \
                ..\msw\$D\thread.obj \
                ..\msw\$D\timer.obj \
                ..\msw\$D\tooltip.obj \
@@ -322,8 +345,7 @@ MSWOBJS = ..\msw\$D\accel.obj \
                ..\msw\$D\utilsexc.obj \
                ..\msw\ole\$D\uuid.obj \
                ..\msw\$D\wave.obj \
-               ..\msw\$D\window.obj \
-               ..\msw\$D\xpmhand.obj
+               ..\msw\$D\window.obj
 
 HTMLOBJS = ..\html\$D\helpctrl.obj \
                ..\html\$D\helpdata.obj \
@@ -352,13 +374,14 @@ HTMLOBJS = ..\html\$D\helpctrl.obj \
 OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
 
 # Normal, static library
-all:    dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg tiff $(LIBTARGET)
-
-dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D
+all:    setuph dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib jpeg tiff $(LIBTARGET)
 
+setuph:
+    cd $(WXDIR)\include\wx\msw
+    if not exist setup.h copy setup0.h setup.h
+    cd $(WXDIR)\src\msw
 
-test:   $(MSWDIR)\$D\wave.obj
-test2:  ..\common\Debug\config.obj
+dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D
 
 $D:
     mkdir $D
@@ -418,7 +441,7 @@ $(WXDIR)\lib\$(WXLIBNAME).lib:      $D\dummy.obj $(OBJECTS) $(PERIPH_LIBS)
        $(implib) @<<
 -out:$@
 -machine:$(CPU)
-$(OBJECTS) $(PERIPH_LIBS)
+$(OBJECTS) $D\dummy.obj $(PERIPH_LIBS)
 <<
 
 !else
@@ -433,16 +456,26 @@ $(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
     -out:$(WXDIR)\lib\$(WXLIBNAME).lib
 <<
 
+!if "$(USE_GLCANVAS)" == "1"
+GL_LIBS=opengl32.lib glu32.lib
+# GL_LIBS_DELAY=/delayload:opengl32.dll
+!endif
+
 # Update the dynamic link library
 $(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS)
     $(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 $(WXDIR)\lib\jpeg.lib $(WXDIR)\lib\tiff.lib
+    $(DUMMYOBJ) $(OBJECTS) $(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
+       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
 
+# /delayload:winmm.dll # Removed because it can cause a crash for some people
 
 ########################################################
 # Windows-specific objects
@@ -455,15 +488,70 @@ $D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\w
 $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp
 <<
 
-# 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.
-
-# $(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
+# 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
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\encconv.obj /c /Tp $(COMMDIR)\encconv.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\fileconf.obj /c /Tp $(COMMDIR)\fileconf.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\hash.obj /c /Tp $(COMMDIR)\hash.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\resource.obj /c /Tp $(COMMDIR)\resource.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(COMMDIR)\$D\textfile.obj /c /Tp $(COMMDIR)\textfile.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\choicdgg.obj /c /Tp $(GENDIR)\choicdgg.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\grid.obj /c /Tp $(GENDIR)\grid.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\gridsel.obj /c /Tp $(GENDIR)\gridsel.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\logg.obj /c /Tp $(GENDIR)\logg.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(GENDIR)\$D\proplist.obj /c /Tp $(GENDIR)\proplist.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\clipbrd.obj /c /Tp $(MSWDIR)\clipbrd.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\control.obj /c /Tp $(MSWDIR)\control.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\listbox.obj /c /Tp $(MSWDIR)\listbox.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\mdi.obj /c /Tp $(MSWDIR)\mdi.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\menu.obj /c /Tp $(MSWDIR)\menu.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\notebook.obj /c /Tp $(MSWDIR)\notebook.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\tbar95.obj /c /Tp $(MSWDIR)\tbar95.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\treectrl.obj /c /Tp $(MSWDIR)\treectrl.cpp
+<<
+       cl @<<
+$(CPPFLAGS2) /Od /Fo$(HTMLDIR)\$D\helpfrm.obj /c /Tp $(HTMLDIR)\helpfrm.cpp
+<<
 
 ..\common\$D\y_tab.obj:     ..\common\y_tab.c ..\common\lex_yy.c
         cl @<<
@@ -525,29 +613,22 @@ clean_tiff:
     nmake -f makefile.vc clean
     cd $(WXDIR)\src\msw
 
-xpm:
-    cd $(WXDIR)\src\xpm
-    nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
-    cd $(WXDIR)\src\msw
-
-clean_xpm:
-    cd $(WXDIR)\src\xpm
-    nmake -f makefile.vc clean
-    cd $(WXDIR)\src\msw
-
 rcparser:
     cd $(WXDIR)\utils\rcparser\src
     nmake -f makefile.vc FINAL=$(FINAL)
     cd $(WXDIR)\src\msw
 
-clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_xpm clean_jpeg clean_tiff
-        -erase $(LIBTARGET)
-        -erase $(WXDIR)\lib\$(WXLIBNAME).pdb
+cleanall: clean clean_png clean_zlib clean_jpeg clean_tiff
         -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 $(WXDIR)\lib\$(WXLIBNAME).pdb
         -erase *.pdb
         -erase *.sbr
         -erase $(WXLIBNAME).pch
@@ -557,7 +638,7 @@ clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_xpm clean_jpeg clean_ti
         -erase $(COMMDIR)\$D\*.obj
         -erase $(COMMDIR)\$D\*.pdb
         -erase $(COMMDIR)\$D\*.sbr
-        -erase $(COMMDIR)\\y_tab.c
+        -erase $(COMMDIR)\y_tab.c
         -erase $(COMMDIR)\lex_yy.c
         -erase $(MSWDIR)\$D\*.obj
         -erase $(MSWDIR)\$D\*.sbr
@@ -574,10 +655,8 @@ clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_xpm clean_jpeg clean_ti
         -rmdir ..\common\$(D)
         -rmdir ..\html\$(D)
 
-cleanall: clean
-
 # Making documents
-docs:   allhlp allhtml allpdfrtf
+docs:   allhlp allhtml allpdfrtf allhtb allhtmlhelp
 alldocs: docs
 hlp:    wxhlp
 wxhlp:  $(DOCDIR)/winhelp/wx.hlp
@@ -586,8 +665,9 @@ rtf:    $(DOCDIR)/winhelp/wx.rtf
 pdfrtf:    $(DOCDIR)/pdf/wx.rtf
 refpdfrtf: $(DOCDIR)/pdf/techref.rtf
 html:  wxhtml
+htb:   $(DOCDIR)\htb\wx.htb
 wxhtml:        $(DOCDIR)\html\wx\wx.htm
-htmlhelp: $(DOCDIR)\html\wx\wx.chm
+htmlhelp: $(DOCDIR)\htmlhelp\wx.chm
 ps:     wxps referencps
 wxps:  $(WXDIR)\docs\ps\wx.ps
 referencps:    $(WXDIR)\docs\ps\referenc.ps
@@ -595,70 +675,51 @@ referencps:       $(WXDIR)\docs\ps\referenc.ps
 allhlp: wxhlp
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc hlp
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc hlp
         cd $(THISDIR)
 
-#        cd $(WXDIR)\utils\wxhelp\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
-
 allhtml: wxhtml
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc html
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc html
+        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 $(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\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
+allhtb: htb
+        cd $(WXDIR)\utils\dialoged\src
+        nmake -f makefile.vc htb
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc htb
+        cd $(THISDIR)
 
 allps: wxps referencps
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc ps
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc ps
         cd $(THISDIR)
 
 allpdfrtf: pdfrtf
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc pdfrtf
+        cd $(WXDIR)\utils\tex2rtf\src
+        nmake -f makefile.vc pdfrtf
         cd $(THISDIR)
 
-#        cd $(WXDIR)\utils\wxhelp\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)
-
 $(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)
@@ -698,6 +759,7 @@ $(DOCDIR)/pdf/techref.rtf:         $(DOCDIR)/latex/techref/techref.tex
 $(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
+        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
@@ -705,9 +767,12 @@ $(DOCDIR)\html\wx\wx.htm:         $(DOCDIR)\latex\wx\classes.tex $(DOCDIR)\latex
         -erase $(DOCDIR)\latex\wx\*.ref
          cd $(THISDIR)
 
-$(DOCDIR)\html\wx\wx.chm : $(DOCDIR)\html\wx\wx.htm $(DOCDIR)\html\wx\wx.hhp
+$(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
@@ -742,12 +807,34 @@ $(WXDIR)\docs\ps\referenc.ps:     $(WXDIR)\docs\latex\wx\referenc.dvi
         move referenc.ps $(WXDIR)\docs\ps\referenc.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:
     -touch $(WXDIR)\docs\latex\wx\manual.tex
 
 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