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
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
dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D
-test: $(MSWDIR)\$D\wave.obj
-test2: ..\common\Debug\config.obj
-
$D:
mkdir $D
$(implib) @<<
-out:$@
-machine:$(CPU)
-$(OBJECTS) $(PERIPH_LIBS)
+$(OBJECTS) $D\dummy.obj $(PERIPH_LIBS)
<<
!else
-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\xpm$(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
$(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp
<<
+# 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
+<<
+
# 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)
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_xpm 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
-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
-rmdir ..\common\$(D)
-rmdir ..\html\$(D)
-cleanall: clean
# Making documents
-docs: allhlp allhtml allpdfrtf
+docs: allhlp allhtml allpdfrtf htb htmlhelp
alldocs: docs
-hlp: wxhlp portinghlp
+hlp: wxhlp
wxhlp: $(DOCDIR)/winhelp/wx.hlp
-prophlp: $(DOCDIR)/winhelp/prop.hlp
refhlp: $(DOCDIR)/winhelp/techref.hlp
rtf: $(DOCDIR)/winhelp/wx.rtf
-proprtf: $(DOCDIR)/winhelp/prop.rtf
pdfrtf: $(DOCDIR)/pdf/wx.rtf
-proppdfrtf: $(DOCDIR)/pdf/prop.rtf
refpdfrtf: $(DOCDIR)/pdf/techref.rtf
-html: wxhtml portinghtml
+html: wxhtml
+htb: $(DOCDIR)\htb\wx.htb
wxhtml: $(DOCDIR)\html\wx\wx.htm
-htmlhelp: $(DOCDIR)\html\wx\wx.chm
-prophtml: $(DOCDIR)\html\proplist\prop.htm
+htmlhelp: $(DOCDIR)\htmlhelp\wx.chm
ps: wxps referencps
wxps: $(WXDIR)\docs\ps\wx.ps
-propps: $(WXDIR)\docs\ps\prop.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 prophlp
+allhlp: wxhlp
cd $(WXDIR)\utils\dialoged\src
nmake -f makefile.vc hlp
cd $(THISDIR)
-# cd $(WXDIR)\utils\wxhelp\src
-# nmake -f makefile.vc hlp
-# cd $(WXDIR)\utils\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 portinghtml prophtml
+allhtml: wxhtml
cd $(WXDIR)\utils\dialoged\src
nmake -f makefile.vc html
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
-
-allps: wxps referencps portingps propps
+allps: wxps referencps
cd $(WXDIR)\utils\dialoged\src
nmake -f makefile.vc ps
cd $(THISDIR)
-allpdfrtf: pdfrtf portingpdfrtf proppdfrtf
+allpdfrtf: pdfrtf
cd $(WXDIR)\utils\dialoged\src
nmake -f makefile.vc pdfrtf
cd $(THISDIR)
-# cd $(WXDIR)\utils\wxhelp\src
-# nmake -f makefile.vc ps
-# cd $(WXDIR)\utils\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)
-$(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/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
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/latex/wx/wx.rtf -twice -winhelp
cd $(THISDIR)
-$(DOCDIR)/latex/porting/porting.rtf: $(DOCDIR)/latex/porting/porting.tex
- cd $(DOCDIR)\latex\porting
- -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/latex/porting/porting.rtf -twice -winhelp
- cd $(THISDIR)
-
-$(DOCDIR)/latex/proplist/prop.rtf: $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
- cd $(DOCDIR)\latex\proplist
- -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/prop.rtf -twice -winhelp
- cd $(THISDIR)
-
$(DOCDIR)/latex/techref/techref.rtf: $(DOCDIR)/latex/techref/techref.tex
cd $(DOCDIR)\latex\techref
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/latex/techref/techref.rtf -twice -winhelp
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/pdf/wx.rtf -twice -rtf
cd $(THISDIR)
-$(DOCDIR)/pdf/porting.rtf: $(DOCDIR)/latex/porting/porting.tex
- cd $(DOCDIR)\latex\porting
- -copy *.wmf $(DOCDIR)\pdf
- -copy *.bmp $(DOCDIR)\pdf
- -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/pdf/porting.rtf -twice -rtf
- cd $(THISDIR)
-
-$(DOCDIR)/pdf/prop.rtf: $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
- cd $(DOCDIR)\latex\proplist
- -copy *.wmf $(DOCDIR)\pdf
- -copy *.bmp $(DOCDIR)\pdf
- -start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/pdf/prop.rtf -twice -rtf
- cd $(THISDIR)
-
$(DOCDIR)/pdf/techref.rtf: $(DOCDIR)/latex/techref/techref.tex
cd $(DOCDIR)\latex\techref
-copy *.wmf $(DOCDIR)\pdf
$(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
-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)
-
-$(DOCDIR)\html\porting\port.htm: $(DOCDIR)\latex\porting\porting.tex
- cd $(DOCDIR)\latex\porting
- -mkdir $(DOCDIR)\html\porting
- -start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\porting\porting.tex $(DOCDIR)\html\porting\port.htm -twice -html
- -erase $(DOCDIR)\html\porting\*.con
- -erase $(DOCDIR)\html\porting\*.ref
- -erase $(DOCDIR)\latex\porting\*.con
- -erase $(DOCDIR)\latex\porting\*.ref
- cd $(THISDIR)
-
-$(DOCDIR)\html\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 $(WAITFLAG) tex2rtf $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\html\proplist\prop.htm -twice -html
- -erase $(DOCDIR)\html\proplist\*.con
- -erase $(DOCDIR)\html\proplist\*.ref
- -erase $(DOCDIR)\latex\proplist\*.con
- -erase $(DOCDIR)\latex\proplist\*.ref
- cd $(THISDIR)
-
$(WXDIR)\docs\latex\wx\manual.dvi: $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
cd $(WXDIR)\docs\latex\wx
-latex manual
-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\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
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