#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
+ next if $wxGeneric{$file} =~ /\bU\b/;
+
my $tag = "";
if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
$tag = "WXNONESSENTIALOBJS";
}
$file =~ s/cp?p?$/obj/;
- $project{$tag} .= "..\\generic\\\$D\\" . $file . " "
+ $project{$tag} .= "\$(GENDIR)\\\$D\\" . $file . " "
}
foreach $file (sort keys %wxCommon) {
next if $wxCommon{$file} =~ /\b16\b/;
$file =~ s/cp?p?$/obj/;
- $project{"WXCOMMONOBJS"} .= "..\\common\\\$D\\" . $file . " "
+ $project{"WXCOMMONOBJS"} .= "\$(COMMDIR)\\\$D\\" . $file . " "
}
foreach $file (sort keys %wxMSW) {
next if $wxMSW{$file} =~ /\b16\b/;
#! OLE files live in a subdir
- $project{"WXMSWOBJS"} .= '..\msw\\';
- $project{"WXMSWOBJS"} .= 'ole\\' if $wxMSW{$file} =~ /\bO\b/;
+ if( $wxMSW{$file} =~ /\bO\b/ ) {
+ $project{"WXMSWOBJS"} .= '$(OLEDIR)';
+ } else {
+ $project{"WXMSWOBJS"} .= '$(MSWDIR)';
+ }
$file =~ s/cp?p?$/obj/;
- $project{"WXMSWOBJS"} .= '$D\\' . $file . " ";
+ $project{"WXMSWOBJS"} .= '\\$D\\' . $file . " ";
}
foreach $file (sort keys %wxHTML) {
next if $wxHTML{$file} =~ /\b16\b/;
$file =~ s/cp?p?$/obj/;
- $project{"WXHTMLOBJS"} .= "..\\html\\\$D\\" . $file . " "
+ $project{"WXHTMLOBJS"} .= "\$(HTMLDIR)\\\$D\\" . $file . " "
}
#$}
# Set to 0 if not using GLCanvas (only affects DLL build)
USE_GLCANVAS=1
+# Set to 0 if you are using MSVC 5
+USE_MSVC_5=0
+
# 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
MSWDIR=$(WXDIR)\src\msw
DOCDIR = $(WXDIR)\docs
HTMLDIR = $(WXDIR)\src\html
+JPEGDIR = $(WXDIR)\src\jpeg
+TIFFDIR = $(WXDIR)\src\tiff
+REGEXDIR = $(WXDIR)\src\regex
+
-{..\generic}.cpp{..\generic\$D}.obj:
+{$(GENDIR)}.cpp{$(GENDIR)\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
-{..\common}.cpp{..\common\$D}.obj:
+{$(COMMDIR)}.cpp{$(COMMDIR)\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
-{..\common}.c{..\common\$D}.obj:
+{$(COMMDIR)}.c{$(COMMDIR)\$D}.obj:
cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $<
<<
-{..\msw}.cpp{..\msw\$D}.obj:
+{$(MSWDIR)}.cpp{$(MSWDIR)\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
-{..\msw}.c{..\msw\$D}.obj:
+{$(MSWDIR)}.c{$(MSWDIR)\$D}.obj:
cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $<
<<
-{..\msw\ole}.cpp{..\msw\ole\$D}.obj:
+{$(OLEDIR)}.cpp{$(OLEDIR)\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
-{..\html}.cpp{..\html\$D}.obj:
+{$(HTMLDIR)}.cpp{$(HTMLDIR)\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
NONESSENTIALOBJS= #$ ExpandList("WXNONESSENTIALOBJS");
COMMONOBJS = \
- ..\common\$D\y_tab.obj \
+ $(COMMDIR)\$D\y_tab.obj \
#$ ExpandList("WXCOMMONOBJS");
MSWOBJS = #$ ExpandList("WXMSWOBJS");
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
# Normal, static library
-all: dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg tiff $(LIBTARGET)
+all: setuph dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib jpeg tiff regex $(LIBTARGET)
-dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D
+setuph:
+ cd $(WXDIR)\include\wx\msw
+ if not exist setup.h copy setup0.h setup.h
+ cd $(WXDIR)\src\msw
+dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D $(JPEGDIR)\$D $(TIFFDIR)\$D $(REGEXDIR)\$D
$D:
mkdir $D
$(HTMLDIR)\$D:
mkdir $(HTMLDIR)\$D
+$(JPEGDIR)\$D:
+ mkdir $(JPEGDIR)\$D
+
+$(TIFFDIR)\$D:
+ mkdir $(TIFFDIR)\$D
+
+$(REGEXDIR)\$D:
+ mkdir $(REGEXDIR)\$D
+
# wxWindows library as DLL
dll:
nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
!if "$(USE_GLCANVAS)" == "1"
GL_LIBS=opengl32.lib glu32.lib
-GL_LIBS_DELAY=/delayload:opengl32.dll
+# GL_LIBS_DELAY=/delayload:opengl32.dll
+!endif
+
+!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
# Update the dynamic link library
$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS)
$(link) @<<
- $(LINKFLAGS)
+ $(LINKFLAGS) $(INCREMENTAL)
-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 $(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)
+ $(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 $(WXDIR)\lib\regex$(LIBEXT).lib $(DELAY_LOAD)
<<
!endif
$(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)
-# 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
-
-..\common\$D\y_tab.obj: ..\common\y_tab.c ..\common\lex_yy.c
+$(COMMDIR)\$D\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
cl @<<
-$(CPPFLAGS2) /c ..\common\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
+$(CPPFLAGS2) /c $(COMMDIR)\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
<<
-..\common\y_tab.c: ..\common\dosyacc.c
- copy "..\common"\dosyacc.c "..\common"\y_tab.c
+$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
+ copy "$(COMMDIR)"\dosyacc.c "$(COMMDIR)"\y_tab.c
-..\common\lex_yy.c: ..\common\doslex.c
- copy "..\common"\doslex.c "..\common"\lex_yy.c
+$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
+ copy "$(COMMDIR)"\doslex.c "$(COMMDIR)"\lex_yy.c
$(OBJECTS): $(WXDIR)/include/wx/setup.h
-..\common\$D\unzip.obj: ..\common\unzip.c
+$(COMMDIR)\$D\unzip.obj: $(COMMDIR)\unzip.c
cl @<<
$(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
<<
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)
+regex:
+ cd $(WXDIR)\src\regex
+ nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) all
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 FINAL=$(FINAL)
cd $(WXDIR)\src\msw
-cleanall: clean clean_png clean_zlib clean_xpm clean_jpeg clean_tiff
+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 $(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 ole\$(D)
- -rmdir ..\generic\$(D)
- -rmdir ..\common\$(D)
- -rmdir ..\html\$(D)
-
+ -rmdir $(GENDIR)\$(D)
+ -rmdir $(COMMDIR)\$(D)
+ -rmdir $(MSWDIR)\$(D)
+ -rmdir $(OLEDIR)\$(D)
+ -rmdir $(HTMLDIR)\$(D)
+ -rmdir $(JPEGDIR)\$(D)
+ -rmdir $(TIFFDIR)\$(D)
# Making documents
-docs: allhlp allhtml allpdfrtf htb htmlhelp
+docs: allhlp allhtml allpdfrtf allhtb allhtmlhelp
alldocs: docs
hlp: wxhlp
wxhlp: $(DOCDIR)/winhelp/wx.hlp
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)
cd $(DOCDIR)\html\wx
-hhc wx.hhp
-mkdir ..\..\htmlhelp
+ -erase $(DOCDIR)\htmlhelp\wx.chm
move wx.chm ..\..\htmlhelp
cd $(THISDIR)
# 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 /Y wx.zip wx.htb
- zip32 wx.zip *.htm *.gif *.hhp *.hhc *.hhk
+ -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)
updatedocs: touchmanual alldocs
cleandocs:
- -erase /Y $(DOCDIR)\html\wx\wx.htm
- -erase /Y $(DOCDIR)\pdf\wx.rtf
- -erase /Y $(DOCDIR)\latex\wx\wx.rtf
- -erase /Y $(DOCDIR)\htmlhelp\wx.chm
- -erase /Y $(DOCDIR)\htb\wx.htb
+ -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.