# Use FINAL=1 argument to nmake to build final version with no debugging
# info
+
+# N.B. This makefiles uses CPPFLAGS2 to disable precompiled headers so we
+# can override optimization, which is necessary for correct behaviour under
+# VC++ 5 (otherwise deleting an object causes a crash).
+
# Set WXDIR for your system
WXDIR = $(WXWIN)
THISDIR = $(WXDIR)\utils\dialoged\src
DOCDIR=$(WXDIR)\docs
LOCALDOCDIR=$(WXDIR)\utils\dialoged\docs
+OVERRIDEFLAGS=/Od
+
PROGRAM=dialoged
OBJECTS = dialoged.obj reseditr.obj dlghndlr.obj reswrite.obj\
dialoged.obj: winprop.h reseditr.h dialoged.$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF)
<<
winprop.obj: winprop.h reseditr.h winprop.$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF)
<<
reswrite.obj: winprop.h reseditr.h reswrite.$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF)
<<
reseditr.obj: winprop.h reseditr.h reseditr.$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF)
<<
edtree.obj: winprop.h reseditr.h edtree.h edtree.$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF)
<<
edlist.obj: winprop.h reseditr.h edlist.h edlist.$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF)
<<
dlghndlr.obj: winprop.h reseditr.h dlghndlr.$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF)
<<
symbtabl.obj: symbtabl.h symbtabl.$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF)
<<
winstyle.obj: winstyle.h winstyle.$(SRCSUFF) $(DUMMYOBJ)
$(cc) @<<
-$(CPPFLAGS) /c /Tp $*.$(SRCSUFF)
+$(CPPFLAGS2) /c /Tp $*.$(SRCSUFF)
<<
DOCSOURCES=$(LOCALDOCDIR)\dialoged.tex $(LOCALDOCDIR)\body.tex\
$(LOCALDOCDIR)\classes.tex $(LOCALDOCDIR)\tech.tex
html: $(DOCDIR)\html\dialoged\dlged.htm
+htmlhelp: $(DOCDIR)\htmlhelp\dialoged.chm
+htb: $(DOCDIR)\htb\dialoged.htb
hlp: $(DOCDIR)\winhelp\dialoged.hlp
pdfrtf: $(DOCDIR)\pdf\dialoged.rtf
ps: $(DOCDIR)\ps\dialoged.ps
$(DOCDIR)\html\dialoged\dlged.htm: $(DOCSOURCES)
cd $(LOCALDOCDIR)
-mkdir $(DOCDIR)\html\dialoged
+ -copy *.gif $(DOCDIR)\html\dialoged
-start /w tex2rtf $(LOCALDOCDIR)\dialoged.tex $(DOCDIR)\html\dialoged\dlged.htm -twice -html
-erase $(DOCDIR)\html\dialoged\*.con
-erase $(DOCDIR)\html\dialoged\*.ref
cd $(THISDIR)
+$(DOCDIR)\htmlhelp\dialoged.chm : $(DOCDIR)\html\dialoged\dlged.htm $(DOCDIR)\html\dialoged\dlged.hhp
+ cd $(DOCDIR)\html\dialoged
+ -hhc dlged.hhp
+ move $(DOCDIR)\html\dialoged\dlged.chm $(DOCDIR)\htmlhelp\dialoged.chm
+ 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\dialoged.htb: $(DOCDIR)\html\dialoged\dlged.htm
+ cd $(DOCDIR)\html\dialoged
+ -erase dialoged.zip dialoged.htb
+ zip dialoged.zip *.htm *.gif *.hhp *.hhc *.hhk
+ -mkdir $(DOCDIR)\htb
+ move dialoged.zip $(DOCDIR)\htb\dialoged.htb
+ cd $(THISDIR)
+
$(LOCALDOCDIR)\dialoged.dvi: $(DOCSOURCES)
cd $(LOCALDOCDIR)
-latex dialoged