]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/makefile.nt
More SC++ fixes; HelpGen starting to compile with VC++; image sample now compiles...
[wxWidgets.git] / src / msw / makefile.nt
index 5325dd38433107d39aa258062a718db502cd612a..2bacd2f7af9cd97353778e6543d026050909f092 100644 (file)
@@ -32,28 +32,17 @@ DUMMYOBJ=dummy.obj
 # This one overrides the others, to be consistent with the settings in wx_setup.h
 MINIMAL_WXWINDOWS_SETUP=0
 
-USE_XPM_IN_MSW=0
-
-!if "$(MINIMAL_WXWINDOWS_SETUP)" == "1"
-USE_XPM_IN_MSW=0
-!endif
-
 PERIPH_LIBS=
 PERIPH_TARGET=
 PERIPH_CLEAN_TARGET=
 
-!if "$(USE_XPM_IN_MSW)" == "1"
-PERIPH_LIBS=$(WXDIR)\contrib\wxxpm\xpm.lib $(PERIPH_LIBS)
-PERIPH_TARGET=xpm $(PERIPH_TARGET)
-PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
-!endif
-
 # 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
 
@@ -64,6 +53,9 @@ GENERICOBJS= \
   $(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 \
@@ -71,6 +63,11 @@ GENERICOBJS= \
   $(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= \
@@ -97,12 +94,14 @@ COMMONOBJS = \
   $(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 \
@@ -133,7 +132,7 @@ COMMONOBJS = \
   $(COMMDIR)\y_tab.obj \
   $(COMMDIR)\extended.obj \
   $(COMMDIR)\process.obj \
-  $(COMMDIR)\fstream.obj \
+  $(COMMDIR)\wfstream.obj \
   $(COMMDIR)\mstream.obj \
   $(COMMDIR)\zstream.obj \
   $(COMMDIR)\stream.obj \
@@ -179,11 +178,9 @@ MSWOBJS = \
   $(MSWDIR)\gdiobj.obj \
   $(MSWDIR)\helpwin.obj \
   $(MSWDIR)\icon.obj \
-  $(MSWDIR)\imaglist.obj \
   $(MSWDIR)\iniconf.obj \
   $(MSWDIR)\joystick.obj \
   $(MSWDIR)\listbox.obj \
-  $(MSWDIR)\listctrl.obj \
   $(MSWDIR)\main.obj \
   $(MSWDIR)\mdi.obj \
   $(MSWDIR)\menu.obj \
@@ -192,7 +189,6 @@ MSWOBJS = \
   $(MSWDIR)\minifram.obj \
   $(MSWDIR)\msgdlg.obj \
   $(MSWDIR)\nativdlg.obj \
-  $(MSWDIR)\notebook.obj \
   $(MSWDIR)\ownerdrw.obj \
   $(MSWDIR)\palette.obj \
   $(MSWDIR)\pen.obj \
@@ -221,20 +217,35 @@ MSWOBJS = \
   $(MSWDIR)\textctrl.obj \
   $(MSWDIR)\thread.obj \
   $(MSWDIR)\timer.obj \
-  $(MSWDIR)\treectrl.obj \
   $(MSWDIR)\utils.obj \
   $(MSWDIR)\utilsexc.obj \
   $(MSWDIR)\wave.obj \
   $(MSWDIR)\window.obj \
+  $(MSWDIR)\notebook.obj \
+  $(MSWDIR)\listctrl.obj \
+  $(MSWDIR)\imaglist.obj \
+  $(MSWDIR)\treectrl.obj \
   $(OLEDIR)\droptgt.obj \
   $(OLEDIR)\dropsrc.obj \
   $(OLEDIR)\dataobj.obj \
   $(OLEDIR)\oleutils.obj \
-  $(OLEDIR)\uuid.obj
-
+  $(OLEDIR)\uuid.obj \
+  $(OLEDIR)\automtn.obj
+
+XPMOBJECTS =   $(XPMDIR)\crbuffri.obj\
+               $(XPMDIR)\crdatfri.obj\
+               $(XPMDIR)\create.obj $(XPMDIR)\crifrbuf.obj\
+               $(XPMDIR)\crifrdat.obj\
+               $(XPMDIR)\data.obj\
+               $(XPMDIR)\hashtab.obj $(XPMDIR)\misc.obj\
+               $(XPMDIR)\parse.obj $(XPMDIR)\rdftodat.obj\
+               $(XPMDIR)\rdftoi.obj\
+               $(XPMDIR)\rgb.obj $(XPMDIR)\scan.obj\
+               $(XPMDIR)\simx.obj $(XPMDIR)\wrffrdat.obj\
+               $(XPMDIR)\wrffrp.obj $(XPMDIR)\wrffri.obj
 
 # Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
-OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
+OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) # $(XPMOBJECTS)
 
 # Normal, static library
 all:    $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib $(LIBTARGET)
@@ -309,7 +320,7 @@ $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
 
 $(MSWDIR)/app.obj:     $*.$(SRCSUFF)
         cl @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+$(CPPFLAGS) /D__NO_VC_CRTDBG__ /c /Tp $*.$(SRCSUFF) /Fo$@
 <<
 
 $(MSWDIR)/bitmap.obj:     $*.$(SRCSUFF)
@@ -739,6 +750,12 @@ $(OLEDIR)/uuid.obj:     $*.$(SRCSUFF)
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
 <<
 
+$(OLEDIR)/automtn.obj:     $*.$(SRCSUFF)
+        echo $(CPPFLAGS)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+<<
+
 ########################################################
 # Common objects (always compiled)
 
@@ -816,7 +833,7 @@ $(COMMDIR)/gdicmn.obj:     $*.$(SRCSUFF)
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
 <<
 
-$(COMMDIR)/iniconf.obj:     $*.$(SRCSUFF)
+$(COMMDIR)/image.obj:     $*.$(SRCSUFF)
         cl @<<
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
 <<
@@ -851,6 +868,11 @@ $(COMMDIR)/memory.obj:     $*.$(SRCSUFF)
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
 <<
 
+$(COMMDIR)/mimetype.obj:     $*.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+<<
+
 $(COMMDIR)/module.obj:     $*.$(SRCSUFF)
         cl @<<
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
@@ -1002,7 +1024,7 @@ $(COMMDIR)\stream.obj:     $*.$(SRCSUFF)
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
 <<
 
-$(COMMDIR)\fstream.obj:     $*.$(SRCSUFF)
+$(COMMDIR)\wfstream.obj:     $*.$(SRCSUFF)
         cl @<<
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
 <<
@@ -1102,6 +1124,21 @@ $(GENDIR)/panelg.obj:     $*.$(SRCSUFF)
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
 <<
 
+$(GENDIR)/prop.obj:     $*.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+<<
+
+$(GENDIR)/propform.obj:     $*.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+<<
+
+$(GENDIR)/proplist.obj:     $*.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+<<
+
 $(GENDIR)/printps.obj:     $*.$(SRCSUFF)
         cl @<<
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
@@ -1142,11 +1179,138 @@ $(GENDIR)/textdlgg.obj:     $*.$(SRCSUFF)
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
 <<
 
-#test: $(DUMMYOBJ) $(COMMDIR)/string.obj
+$(GENDIR)/treectrl.obj:     $*.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+<<
 
+$(GENDIR)/imaglist.obj:     $*.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+<<
+
+$(GENDIR)/listctrl.obj:     $*.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+<<
+
+$(GENDIR)/notebook.obj:     $*.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+<<
 
 $(OBJECTS):    $(WXDIR)/include/wx/setup.h
 
+$(XPMDIR)\crbuffri.obj: $(XPMDIR)\crbuffri.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\crbuffrp.obj: $(XPMDIR)\crbuffrp.c
+               cl @<<
+$(CPPFLAGS2) /c  $*.c /Fo$@
+<<
+
+$(XPMDIR)\crdatfri.obj: $(XPMDIR)\crdatfri.c
+               cl @<<
+$(CPPFLAGS2) /c  $*.c /Fo$@
+<<
+
+$(XPMDIR)\crdatfrp.obj: $(XPMDIR)\crdatfrp.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\create.obj: $(XPMDIR)\create.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\crifrbuf.obj: $(XPMDIR)\crifrbuf.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\crifrdat.obj: $(XPMDIR)\crifrdat.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\crpfrbuf.obj: $(XPMDIR)\crpfrbuf.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\crpfrdat.obj: $(XPMDIR)\crpfrdat.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\data.obj: $(XPMDIR)\data.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\hashtab.obj: $(XPMDIR)\hashtab.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\misc.obj: $(XPMDIR)\misc.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\parse.obj: $(XPMDIR)\parse.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\rdftodat.obj: $(XPMDIR)\rdftodat.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\rdftoi.obj: $(XPMDIR)\rdftoi.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\rdftop.obj: $(XPMDIR)\rdftop.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\rgb.obj: $(XPMDIR)\rgb.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\scan.obj: $(XPMDIR)\scan.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\simx.obj: $(XPMDIR)\simx.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\wrffrdat.obj: $(XPMDIR)\wrffrdat.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\wrffri.obj: $(XPMDIR)\wrffri.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
+$(XPMDIR)\wrffrp.obj: $(XPMDIR)\wrffrp.c
+               cl @<<
+$(CPPFLAGS2) /c $*.c /Fo$@
+<<
+
 # Peripheral components
 
 png:
@@ -1236,21 +1400,27 @@ clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib
 cleanall: clean
 
 # Making documents
-docs:   hlp
+docs:   allhlp allhtml allpdfrtf
+alldocs: docs
 hlp:    wxhlp portinghlp # faqhlp
 wxhlp:  $(DOCDIR)/winhelp/wx.hlp
+wxprophlp: $(DOCDIR)/winhelp/wxprop.hlp
 faqhlp: $(DOCDIR)/winhelp/faq.hlp
 refhlp: $(DOCDIR)/winhelp/techref.hlp
 rtf:    $(DOCDIR)/winhelp/wx.rtf
 faqrtf: $(DOCDIR)/winhelp/faq.rtf
+wxproprtf: $(DOCDIR)/winhelp/wxprop.rtf
 pdfrtf:    $(DOCDIR)/pdf/wx.rtf
 faqpdfrtf: $(DOCDIR)/pdf/faq.rtf
+wxproppdfrtf: $(DOCDIR)/pdf/wxprop.rtf
 refpdfrtf: $(DOCDIR)/pdf/techref.rtf
 html:  wxhtml # faqhtml
 wxhtml:        $(DOCDIR)\html\wx\wx.htm
 faqhtml: $(DOCDIR)\html\faq\faq.htm
+wxprophtml: $(DOCDIR)\html\proplist\prop.htm
 ps:     wxps referencps # faqps
 wxps:  $(WXDIR)\docs\ps\wx.ps
+wxpropps:      $(WXDIR)\docs\ps\wxprop.ps
 faqps: $(WXDIR)\docs\ps\faq.ps
 referencps:    $(WXDIR)\docs\ps\referenc.ps
 
@@ -1260,11 +1430,7 @@ portinghlp: $(DOCDIR)/winhelp/porting.hlp
 portingpdfrtf: $(DOCDIR)/pdf/porting.rtf
 portingps:     $(WXDIR)\docs\ps\porting.ps
 
-alldocs: allhlp allhtml allpdfrtf # allps # TeX can't cope with references!
-
-allhlp: wxhlp portinghlp # faqhlp
-        cd $(WXDIR)\utils\wxprop\src
-        nmake -f makefile.nt hlp
+allhlp: wxhlp portinghlp wxprop # faqhlp
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.nt hlp
         cd $(THISDIR)
@@ -1295,9 +1461,7 @@ allhlp: wxhlp portinghlp # faqhlp
 #        cd $(WXDIR)\utils\clips2c\src
 #        nmake -f makefile.nt hlp
 
-allhtml: wxhtml portinghtml # faqhtml
-        cd $(WXDIR)\utils\wxprop\src
-        nmake -f makefile.nt html
+allhtml: wxhtml portinghtml wxprophtml # faqhtml
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.nt html
         cd $(THISDIR)
@@ -1329,16 +1493,12 @@ allhtml: wxhtml portinghtml # faqhtml
 #        cd $(WXDIR)\utils\clips2c\src
 #        nmake -f makefile.nt html
 
-allps: wxps referencps portingps # faqps
-        cd $(WXDIR)\utils\wxprop\src
-        nmake -f makefile.nt ps
+allps: wxps referencps portingps wxpropps # faqps
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.nt ps
         cd $(THISDIR)
 
-allpdfrtf: pdfrtf portingpdfrtf # faqpdfrtf
-        cd $(WXDIR)\utils\wxprop\src
-        nmake -f makefile.nt pdfrtf
+allpdfrtf: pdfrtf portingpdfrtf wxproppdfrtf # faqpdfrtf
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.nt pdfrtf
         cd $(THISDIR)
@@ -1390,6 +1550,14 @@ $(DOCDIR)/winhelp/faq.hlp:         $(DOCDIR)/latex/faq/faq.rtf $(DOCDIR)/latex/f
         move faq.cnt $(DOCDIR)\winhelp\faq.cnt
         cd $(THISDIR)
 
+$(DOCDIR)/winhelp/wxprop.hlp:         $(DOCDIR)/latex/proplist/wxprop.rtf $(DOCDIR)/latex/proplist/wxprop.hpj
+        cd $(DOCDIR)/latex/proplist
+        -erase wxprop.ph
+        hc wxprop
+        move wxprop.hlp $(DOCDIR)\winhelp\wxprop.hlp
+        move wxprop.cnt $(DOCDIR)\winhelp\wxprop.cnt
+        cd $(THISDIR)
+
 $(DOCDIR)/winhelp/techref.hlp:         $(DOCDIR)/latex/techref/techref.rtf $(DOCDIR)/latex/techref/techref.hpj
         cd $(DOCDIR)/latex/techref
         -erase techref.ph
@@ -1413,6 +1581,11 @@ $(DOCDIR)/latex/faq/faq.rtf:         $(DOCDIR)/latex/faq/faq.tex
         -start /w tex2rtf $(DOCDIR)/latex/faq/faq.tex $(DOCDIR)/latex/faq/faq.rtf -twice -winhelp
         cd $(THISDIR)
 
+$(DOCDIR)/latex/proplist/wxprop.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/wxprop.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
@@ -1436,6 +1609,12 @@ $(DOCDIR)/pdf/faq.rtf:         $(DOCDIR)/latex/faq/faq.tex
         -start /w tex2rtf $(DOCDIR)/latex/faq/faq.tex $(DOCDIR)/pdf/faq.rtf -twice -rtf
         cd $(THISDIR)
 
+$(DOCDIR)/pdf/wxprop.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/wxprop.tex $(DOCDIR)/pdf/wxprop.rtf -twice -rtf
+        cd $(THISDIR)
+
 $(DOCDIR)/pdf/techref.rtf:         $(DOCDIR)/latex/techref/techref.tex
         cd $(DOCDIR)\latex\techref
         -copy *.bmp *.wmf $(DOCDIR)\pdf
@@ -1469,7 +1648,17 @@ $(DOCDIR)\html\faq\faq.htm:         $(DOCDIR)\latex\faq\faq.tex
         -erase $(DOCDIR)\html\faq\*.con
         -erase $(DOCDIR)\html\faq\*.ref
         -erase $(DOCDIR)\latex\faq\*.con
-        -erase $(DOCDIR)\latexfaq\*.ref
+        -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\wxprop.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)
 
 $(WXDIR)\docs\latex\wx\manual.dvi:     $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
@@ -1538,3 +1727,10 @@ $(WXDIR)\docs\ps\faq.ps: $(WXDIR)\docs\latex\faq\faq.dvi
 # In order to force document reprocessing
 touchmanual:
     -touch $(WXDIR)\docs\latex\wx\manual.tex
+
+updatedocs: touchmanual alldocs
+
+# Start Word, running the GeneratePDF macro. MakeManual.dot should be in the
+# Office StartUp folder, and PDFMaker should be installed.
+updatepdf:  # touchmanual pdfrtf
+    start /w "winword d:\wx2\wxWindows\docs\latex\pdf\wx.rtf /mGeneratePDF"