OBJSUFF=obj
SRCSUFF=cpp
+WAITFLAG=/w
+
# If you set wxUSE_IOSTREAMH to 0, remove -Dtry=__try -Dexcept=__except -Dleave=__leave -Dfinally=__finally
-WINFLAGS=-c -W3 -Dtry=__try -Dexcept=__except -Dleave=__leave -Dfinally=__finally -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -D_X86_=1 -DWIN32 -D__WIN32__ $(WINVERSION)
+#WINFLAGS=-c -W3 -Dtry=__try -Dexcept=__except -Dleave=__leave -Dfinally=__finally -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -D_X86_=1 -DWIN32 -D__WIN32__ $(WINVERSION)
+WINFLAGS=-c -W3 -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -D_X86_=1 -DWIN32 -D__WIN32__ $(WINVERSION)
#WINLINKFLAGS=/NODEFAULTLIB /INCREMENTAL:NO /NOLOGO -align:0x1000 -machine:$(CPU) -subsystem:windows,$(APPVER)
WINLINKFLAGS=/INCREMENTAL:NO /NOLOGO -machine:$(CPU) -subsystem:windows,$(APPVER)
#WINLIBS=kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib libc.lib oldnames.lib\
# comctl32.lib ctl3d32.lib odbc32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib # libci.lib # libci.lib required for VC++ 4.2
WINLIBS=kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib oldnames.lib\
- comctl32.lib ctl3d32.lib odbc32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib # libci.lib # libci.lib required for VC++ 4.2
+ comctl32.lib ctl3d32.lib odbc32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib # libci.lib # libci.lib required for VC++ 4.2
# Change this to your WXWIN directory
WXDIR=$(WXWIN)
#DLL=0
-!if "$(WXUSINGDLL)" == "1" || "$(WXMAKINGDLL)" == "1"
-WXLIB=$(WXDIR)\lib\wx200.lib
-!else
-WXLIB=$(WXDIR)\lib\wx.lib
-!endif
-
!if "$(WXUSINGDLL)" == "1"
EXTRADLLFLAGS=/DWXUSINGDLL=1
!endif
EXTRADLLFLAGS=$(EXTRADLLFLAGS) /DNOMAIN
!endif
-INC=-I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/zlib $(EXTRAINC)
-LIBS = $(EXTRALIBS) $(WXLIB) $(WINLIBS) $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\xpm.lib
-
!ifndef FINAL
FINAL=0
DEBUG=1
NOPCH=0
!endif
+# This sets 'D' to a suitable directory name
+# for this kind of build, and WXLIBNAME to one of wx (static release), wx_d (static debug),
+# wx200 (DLL release), wx200_d (DLL debug)
+
+!if "$(WXMAKINGDLL)" == "1" || "$(WXUSINGDLL)" == "1"
+WXLIBNAME=wx200
+!else
+WXLIBNAME=wx
+!endif
+
+!if "$(FINAL)" == "1"
+D=Release
+!else
+D=Debug
+WXLIBNAME=$(WXLIBNAME)_d
+!endif
+
+!if "$(WXMAKINGDLL)" == "1" || "$(WXUSINGDLL)" == "1"
+D=$(D)DLL
+!endif
+
+WXLIB=$(WXDIR)\lib\$(WXLIBNAME).lib
+
+INC=-I$(WXINC) -I$(WXDIR)/src/png -I$(WXDIR)/src/zlib -I$(WXDIR)/src/jpeg $(EXTRAINC)
+LIBS = $(EXTRALIBS) $(WXLIB) $(WINLIBS) $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\jpeg.lib $(WXDIR)\lib\xpm.lib
+
MAKEPRECOMP=/YcWX/WXPREC.H
OPTIONS=
PRECOMP=
MAKEPRECOMP=
!else
-PCH=WX.PCH
-PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\src\msw\$(PCH) /Fd$(WXDIR)\lib\wx.pdb
+PCH=$(WXLIBNAME).pch
+PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\src\msw\$(PCH) /Fd$(WXDIR)\lib\$(WXLIBNAME).pdb
MAKEPRECOMP=/YcWX/WXPREC.H
!endif
!else
!if "$(WXMAKINGDLL)" == "1"
-PCH=WXDLL.PCH
+PCH=$(WXLIBNAME).pch
DUMMY=dummydll
!else
-PCH=WX.PCH
+PCH=$(WXLIBNAME).pch
DUMMY=dummy
!endif
-PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\src\msw\$(PCH) /Fd$(WXDIR)\lib\wx.pdb
+PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\src\msw\$(PCH) /Fd$(WXDIR)\lib\$(WXLIBNAME).pdb
CPPFLAGS=$(WINFLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(EXTRAFLAGS) /D__WXMSW__ $(INC) $(OPT) /D_DLL $(CRTFLAG) $(EXTRADLLFLAGS) /D_WINDOWS /D__WINDOWS__ /D_WINDLL
CPPFLAGS2=$(WINFLAGS) $(DEBUG_FLAGS) /D__WXMSW__ $(INC) $(EXTRAFLAGS) $(OPT) /D_DLL $(CRTFLAG) $(EXTRADLLFLAGS) /D_WINDOWS /D__WINDOWS__ /D_WINDLL
LINKFLAGS=$(LINK_DEBUG_FLAGS) -machine:i386 -subsystem:windows,$(APPVER) -dll # -entry:_DllMainCRTStartup$(DLLENTRY)
!endif
-DUMMYOBJ=$(WXDIR)\src\msw\$(DUMMY).obj
+DUMMYOBJ=$(WXDIR)\src\msw\$D\$(DUMMY).obj
+
+.c.obj:
+ cl @<<
+$(CPPFLAGS2) /Fo$@ /c $<
+<<
+
+.cpp.obj:
+ cl @<<
+$(CPPFLAGS2) /Fo$@ /c $<
+<<