X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ab85e6cd0021eba5d95c1e1e52187a6f256b06de..15ce54dae1b37dbf9fc7f6b44928e0a2cf528fef:/distrib/msw/tmake/vc.t diff --git a/distrib/msw/tmake/vc.t b/distrib/msw/tmake/vc.t index 5a2143aa71..bf6dca885a 100644 --- a/distrib/msw/tmake/vc.t +++ b/distrib/msw/tmake/vc.t @@ -13,6 +13,8 @@ #! 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"; @@ -22,31 +24,34 @@ } $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/; + next if $wxCommon{$file} =~ /\b(16|U)\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 . " " } #$} @@ -89,6 +94,9 @@ PERIPH_CLEAN_TARGET= # 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 @@ -99,38 +107,42 @@ OLEDIR=ole 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 $< << @@ -142,7 +154,7 @@ GENERICOBJS= #$ ExpandList("WXGENERICOBJS"); NONESSENTIALOBJS= #$ ExpandList("WXNONESSENTIALOBJS"); COMMONOBJS = \ - ..\common\$D\y_tab.obj \ + $(COMMDIR)\$D\y_tab.obj \ #$ ExpandList("WXCOMMONOBJS"); MSWOBJS = #$ ExpandList("WXMSWOBJS"); @@ -154,15 +166,20 @@ HTMLOBJS = #$ ExpandList("WXHTMLOBJS"); # Add $(HTMLOBJS) if wanting wxHTML classes OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS) +ARCHINCDIR=$(WXDIR)\lib\msw$(INCEXT) +SETUP_H=$(ARCHINCDIR)\wx\setup.h + # Normal, static library -all: setuph dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib jpeg tiff $(LIBTARGET) +all: dirs $(SETUP_H) $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib jpeg tiff regex $(LIBTARGET) -setuph: - cd $(WXDIR)\include\wx\msw - if not exist setup.h copy setup0.h setup.h - cd $(WXDIR)\src\msw +$(ARCHINCDIR)\wx: + mkdir $(ARCHINCDIR) + mkdir $(ARCHINCDIR)\wx -dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D +$(SETUP_H): $(WXDIR)\include\wx\msw\setup.h + copy $(WXDIR)\include\wx\msw\setup.h $@ + +dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D $(JPEGDIR)\$D $(TIFFDIR)\$D $(REGEXDIR)\$D $(ARCHINCDIR)\wx $(WXDIR)\$D $D: mkdir $D @@ -182,20 +199,33 @@ $(OLEDIR)\$D: $(HTMLDIR)\$D: mkdir $(HTMLDIR)\$D +$(JPEGDIR)\$D: + mkdir $(JPEGDIR)\$D + +$(TIFFDIR)\$D: + mkdir $(TIFFDIR)\$D + +$(REGEXDIR)\$D: + mkdir $(REGEXDIR)\$D + +$(WXDIR)\$D: + mkdir $(WXDIR)\$D + + # wxWindows library as DLL dll: - nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME) + nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME) UNICODE=$(UNICODE) cleandll: - nmake -f makefile.vc clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME) + nmake -f makefile.vc clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME) UNICODE=$(UNICODE) # wxWindows + app as DLL. Only affects main.cpp. dllapp: - nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 + nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 UNICODE=$(UNICODE) # wxWindows + app as DLL, for Netscape plugin - remove DllMain. dllnp: - nmake -f makefile.vc all NOMAIN=1 FINAL=$(FINAL) DLL=1 + nmake -f makefile.vc all NOMAIN=1 FINAL=$(FINAL) DLL=1 UNICODE=$(UNICODE) # Use this to make dummy.obj and generate a PCH. # You might use the dll target, then the pch target, in order to @@ -242,16 +272,26 @@ GL_LIBS=opengl32.lib glu32.lib # 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\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 @@ -261,10 +301,10 @@ $(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS) ######################################################## # Windows-specific objects -$D\dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h +$D\dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(SETUP_H) cl $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummy.obj /c /Tp dummy.cpp -$D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h +$D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(SETUP_H) cl @<< $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp << @@ -334,20 +374,20 @@ $(CPPFLAGS2) /Od /Fo$(MSWDIR)\$D\treectrl.obj /c /Tp $(MSWDIR)\treectrl.cpp $(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 +$(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 +$(OBJECTS): $(SETUP_H) -..\common\$D\unzip.obj: ..\common\unzip.c +$(COMMDIR)\$D\unzip.obj: $(COMMDIR)\unzip.c cl @<< $(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@ << @@ -394,12 +434,22 @@ clean_tiff: nmake -f makefile.vc clean cd $(WXDIR)\src\msw +regex: + cd $(WXDIR)\src\regex + nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) all + cd $(WXDIR)\src\msw + +clean_regex: + cd $(WXDIR)\src\regex + 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 -cleanall: clean clean_png clean_zlib 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 @@ -424,17 +474,29 @@ clean: $(PERIPH_CLEAN_TARGET) -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 allhtb allhtmlhelp