Removed some superflous #defines already added by plaform.h, simplified a bit

the logic to construct directory and library names; now it should be possible
to build in Unicode mode without changing setup.h; fixed building wxBase with
makefiles.
  Added a new DEBUGINFO parameter. FINAL=hybrid DEBUGINFO=1 is like
FINAL=hybrid but with debug information.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon 2003-03-07 15:48:41 +00:00
parent ab89a5b59b
commit fb5230de74
3 changed files with 122 additions and 80 deletions

View File

@ -28,7 +28,7 @@ WINVERSION=-DWINVER=0x0350 # Generic WIN32
!else
APPVER=4.0
# This means 'enable Windows 95 features' (in wxWindows and in VC++ 4.0).
WINVERSION=-DWINVER=0x0400 /D__WIN95__
WINVERSION=-DWINVER=0x0400
!endif
# On Alpha machines, change to CPU=ALPHA
@ -40,13 +40,16 @@ SRCSUFF=cpp
WAITFLAG=/w
# If you set wxUSE_IOSTREAMH to 0, remove -Dtry=__try -Dexcept=__except -Dleave=__leave -Dfinally=__finally
# If you set wxUSE_IOSTREAMH to 0, remove
# -Dtry=__try -Dexcept=__except -Dleave=__leave -Dfinally=__finally
#WINFLAGS=-c -W3 -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -D_X86_=1 -DWIN32 -D__WIN32__ $(WINVERSION) -DSTRICT
WINFLAGS=-c -W3 -nologo -DWIN32 -D__WIN32__ -D_WINDOWS $(WINVERSION) -DSTRICT
WINLINKFLAGS=/INCREMENTAL:NO /NOLOGO -machine:$(CPU) -subsystem:windows,$(APPVER)
BASELINKFLAGS=/INCREMENTAL:NO /NOLOGO -machine:$(CPU) -subsystem:console,$(APPVER)
WINLIBS=kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib oldnames.lib\
comctl32.lib odbc32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib # libci.lib # libci.lib required for VC++ 4.2
WINFLAGS=-c -W3 -nologo -DWIN32 -D_WINDOWS $(WINVERSION) -DSTRICT
WINLINKFLAGS=-nologo -machine:$(CPU) -subsystem:windows,$(APPVER)
BASELINKFLAGS=-nologo -machine:$(CPU) -subsystem:console,$(APPVER)
WINLIBS=kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib \
shell32.lib oldnames.lib comctl32.lib odbc32.lib ole32.lib oleaut32.lib \
uuid.lib rpcrt4.lib advapi32.lib wsock32.lib \
# libci.lib # libci.lib required for VC++ 4.2
# Set a WXWIN environment variable be the path to your WXWIN directory
WXDIR=$(WXWIN)
@ -113,7 +116,14 @@ MSLU=0
!ifndef FINAL
FINAL=0
DEBUG=1
!endif
!ifndef DEBUGINFO
!if "$(FINAL)" == "0"
DEBUGINFO=1
!else
DEBUGINFO=0
!endif
!endif
!ifndef DLL
@ -125,57 +135,72 @@ DLL=0
NOPCH=0
!endif
# This sets 'D' to a suitable directory name
# for this kind of build, and WXLIBNAME to one of wx (static release), wxd (static debug),
# wx$(WXVERSION) (DLL release), wx$(WXVERSION)d (DLL debug)
!if "$(WXMAKINGDLL)" == "1" || "$(WXUSINGDLL)" == "1"
WXLIBNAME=wxmsw$(WXVERSION)
!else
WXLIBNAME=wxmsw
!endif
!if "$(NEW_WXLIBNAME)" != ""
WXLIBNAME=$(NEW_WXLIBNAME)
!endif
# This sets 'D' to a suitable directory name: [Base](Debug|Release|Hybrid)[Dll]
# for this kind of build, and WXLIBNAME to one of wx(msw|base)[u][d] (static),
# wx(msw|base)$(WXVERSION)[u][d] (DLL)
!if "$(UNICODE)" == "1"
UNIEXT=u
WXLIBNAME=$(WXLIBNAME)$(UNIEXT)
_WXLIB_SUFFIX=u
_WXINC_SUFFIX=u
_WXDIR_UNICODESUFFIX=Unicode
!endif
!if "$(WXMAKINGDLL)" == "1" || "$(WXUSINGDLL)" == "1"
_WXLIB_VERSION=$(WXVERSION)
_WXDIR_DLLSUFFIX=Dll
_WXINC_DLLSUFFIX=dll
!else
_WXLIB_VERSION=
_WXDIR_DLLSUFFIX=
_WXINC_DLLSUFFIX=
!endif
!if "$(FINAL)" == "1"
D=Release
_WXDIR_BUILD=Release
LIBEXT=
# no _WXDIR_SUFFIX
!else if "$(FINAL)" == "hybrid"
D=Hybrid
_WXDIR_BUILD=Hybrid
LIBEXT=h
WXLIBNAME=$(WXLIBNAME)$(LIBEXT)
!else
guilibsdll= oldnames.lib kernel32.lib \
ws2_32.lib mswsock.lib advapi32.lib user32.lib \
gdi32.lib comdlg32.lib winspool.lib
D=Debug
_WXDIR_BUILD=Debug
LIBEXT=d
WXLIBNAME=$(WXLIBNAME)$(LIBEXT)
!endif
!if "$(wxUSE_GUI)" == "0"
WXLIBNAME=wxBase
D=Base$(D)
WXLIBNAME=$(WXLIBNAME)$(UNIEXT)$(LIBEXT)
_WXDIR_PREFIX=Base
_WXLIB_NAME=wxbase
_WXINC_BUILD=base
!else
_WXDIR_PREFIX=
_WXLIB_NAME=wxmsw
_WXINC_BUILD=msw
!endif
!if "$(UNICODE)" == "1"
D=$(D)Unicode
UNIFLAGS=-DUNICODE -D_UNICODE -DwxUSE_UNICODE=1
!endif
INCEXT=$(UNIEXT)$(LIBEXT)
!if "$(wxUSE_GUI)" == "0"
UNIFLAGS=$(UNIFLAGS) -DwxUSE_GUI=0
!endif
!if "$(WXMAKINGDLL)" == "1" || "$(WXUSINGDLL)" == "1"
D=$(D)DLL
INCEXT=dll$(INCEXT)
!endif
D=$(_WXDIR_PREFIX)$(_WXDIR_BUILD)$(_WXDIR_UNICODESUFFIX)$(_WXDIR_DLLSUFFIX)
WXLIBNAME=$(_WXLIB_NAME)$(_WXLIB_VERSION)$(_WXLIB_SUFFIX)$(LIBEXT)
INCEXT=$(_WXINC_SUFFIX)$(LIBEXT)
!if "$(NEW_WXLIBNAME)" != ""
WXLIBNAME=$(NEW_WXLIBNAME)
!endif
#----------------------------------------------------------------------
# MSLU == Microsoft Layer for Unicode
# See MSDN or the Platform SDK docs for details
@ -186,13 +211,7 @@ MSLU_LIBS=$(MSLU_FLAGS) unicows.lib
WXLIB=$(WXDIR)\lib\$(WXLIBNAME).lib
!if "$(wxUSE_GUI)" == "0"
INCTEMP=$(EXTRAINC) -I$(WXDIR)/lib/base$(INCEXT)
!else
INCTEMP=$(EXTRAINC) -I$(WXDIR)/lib/msw$(INCEXT)
!endif
INC=$(INCTEMP) -I$(WXINC) -I$(WXDIR)/contrib/include -I$(WXDIR)/src/regex -I$(WXDIR)/src/png -I$(WXDIR)/src/zlib -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/tiff
INC=$(EXTRAINC) -I$(WXDIR)/lib/$(_WXINC_BUILD)$(_WXINC_DLLSUFFIX)$(_WXINC_SUFFIX)$(LIBEXT) -I$(WXINC) -I$(WXDIR)/contrib/include -I$(WXDIR)/src/regex -I$(WXDIR)/src/png -I$(WXDIR)/src/zlib -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/tiff
!if "$(WXUSINGDLL)" == "1" || "$(wxUSE_GUI)" == "0"
LIBS = $(MSLU_LIBS) $(EXTRALIBS) $(WXLIB) $(WINLIBS) $(WXDIR)\lib\regex$(LIBEXT).lib $(WXDIR)\lib\zlib$(LIBEXT).lib
@ -200,29 +219,38 @@ LIBS = $(MSLU_LIBS) $(EXTRALIBS) $(WXLIB) $(WINLIBS) $(WXDIR)\lib\regex$(LIBEXT)
LIBS = $(MSLU_LIBS) $(EXTRALIBS) $(WXLIB) $(WINLIBS) $(WXDIR)\lib\regex$(LIBEXT).lib $(WXDIR)\lib\png$(LIBEXT).lib $(WXDIR)\lib\zlib$(LIBEXT).lib $(WXDIR)\lib\jpeg$(LIBEXT).lib $(WXDIR)\lib\tiff$(LIBEXT).lib
!endif
MAKEPRECOMP=/YcWX/WXPREC.H
OPTIONS=
!if "$(FINAL)" == "0"
OPT = /Od /Gy
# ***N.B.*** to save space/time, comment out /FR to avoid browse info (.sbr files) being generated
DEBUG_FLAGS= /Zi /D__WXDEBUG__ # /DDEBUG=1 # /FR
LINK_DEBUG_FLAGS=-debug:full -debugtype:cv # /PDB:NONE
_CRTFLAG=/MDd
!if "$(DEBUGINFO)" == "0"
!else if "$(FINAL)" == "hybrid"
!if "$(FINAL)" == "hybrid"
OPT = /Ox /Gy
DEBUG_FLAGS= /D__WXDEBUG__ /D__NO_VC_CRTDBG__
LINK_DEBUG_FLAGS=/RELEASE
_CRTFLAG=/MD
!else
# /O1 - smallest code
# /O2 - fastest code
OPT = /O1 # /O2 # /Od
DEBUG_FLAGS=
!endif
LINK_DEBUG_FLAGS=/RELEASE
!else
OPT = /Od /Gy /Zi
LINK_DEBUG_FLAGS=-debug:full -debugtype:cv
!endif
!if "$(FINAL)" == "0"
# ***N.B.*** to save space/time, comment out /FR to avoid browse info (.sbr files) being generated
DEBUG_FLAGS= /D__WXDEBUG__ # /DDEBUG=1 # /FR
_CRTFLAG=/MDd
!else if "$(FINAL)" == "hybrid"
DEBUG_FLAGS= /D__WXDEBUG__ /D__NO_VC_CRTDBG__
_CRTFLAG=/MD
!else
DEBUG_FLAGS=
_CRTFLAG=/MD
!endif
@ -230,12 +258,12 @@ _CRTFLAG=/MD
CRTFLAG=$(_CRTFLAG)
!endif
!if "$(DLL)" == "0"
!if "$(NOPCH)" == "1"
PCH=
PRECOMP=
MAKEPRECOMP=
!else
!if "$(wxUSE_GUI)" == "0"
@ -244,36 +272,42 @@ PCH=wxBase.pch
PCH=wxWindows.pch
!endif
PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\$D\$(PCH) /Fd$(WXDIR)\$D\vc60.pdb
PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\$D\$(PCH) /Fd$(WXDIR)\lib\$(WXLIBNAME).pdb
MAKEPRECOMP=/YcWX/WXPREC.H
!endif
!if "$(DLL)" == "0"
CPPFLAGS=$(WINFLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(EXTRAFLAGS) /D__WXMSW__ $(INC) $(OPT) $(EXTRADLLFLAGS) $(CRTFLAG) /D__WINDOWS__ /GX- $(OVERRIDEFLAGS)
CPPFLAGS=$(UNIFLAGS) $(WINFLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(EXTRAFLAGS) $(INC) $(OPT) $(EXTRADLLFLAGS) $(CRTFLAG) /GX- $(OVERRIDEFLAGS)
# If you don't include wxprec.h, use CPPFLAGS2
CPPFLAGS2=$(WINFLAGS) $(DEBUG_FLAGS) /D__WXMSW__ $(INC) $(EXTRAFLAGS) $(OPT) $(EXTRADLLFLAGS) $(CRTFLAG) /D__WINDOWS__ /GX- $(OVERRIDEFLAGS)
CPPFLAGS2=$(UNIFLAGS) $(WINFLAGS) $(DEBUG_FLAGS) $(INC) $(EXTRAFLAGS) $(OPT) $(EXTRADLLFLAGS) $(CRTFLAG) /GX- $(OVERRIDEFLAGS)
!if "$(wxUSE_GUI)" == "0"
LINKFLAGS=$(LINK_DEBUG_FLAGS) $(BASELINKFLAGS)
!else
LINKFLAGS=$(LINK_DEBUG_FLAGS) $(WINLINKFLAGS) -entry:WinMainCRTStartup
LINKFLAGS=$(LINK_DEBUG_FLAGS) $(WINLINKFLAGS)
!endif
DUMMY=dummy
!else
CPPFLAGS= $(UNIFLAGS) $(WINFLAGS) $(DEBUG_FLAGS) $(PRECOMP) $(EXTRAFLAGS) $(INC) $(OPT) /D_DLL $(CRTFLAG) $(EXTRADLLFLAGS) /D_WINDLL
CPPFLAGS2=$(UNIFLAGS) $(WINFLAGS) $(DEBUG_FLAGS) $(EXTRAFLAGS) $(INC) $(OPT) /D_DLL $(CRTFLAG) $(EXTRADLLFLAGS) /D_WINDLL
!if "$(wxUSE_GUI)" == "0"
LINKFLAGS=$(LINK_DEBUG_FLAGS) $(BASELINKFLAGS) -dll
!else
LINKFLAGS=$(LINK_DEBUG_FLAGS) $(WINLINKFLAGS) -dll
!endif
!if "$(WXMAKINGDLL)" == "1"
PCH=wxWindows.pch
DUMMY=dummydll
!else
PCH=wxWindows.pch
DUMMY=dummy
!endif
PRECOMP=/YuWX/WXPREC.H /Fp$(WXDIR)\$D\$(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)\$D\$(DUMMY).obj

View File

@ -97,6 +97,7 @@ COMMONOBJS = \
..\common\$D\memory.obj \
..\common\$D\mimecmn.obj \
..\common\$D\module.obj \
..\common\$D\msgout.obj \
..\common\$D\mstream.obj \
..\common\$D\object.obj \
..\common\$D\process.obj \
@ -142,13 +143,17 @@ MSWOBJS = ..\msw\$D\dde.obj \
OBJECTS = $(COMMONOBJS) $(MSWOBJS)
ARCHINCDIR=$(WXDIR)\lib\base$(INCEXT)
ARCHINCDIR=$(WXDIR)\lib\$(_WXINC_BUILD)$(_WXINC_DLLSUFFIX)$(_WXINC_SUFFIX)$(LIBEXT)
SETUP_H=$(ARCHINCDIR)\wx\setup.h
# Normal, static library
#all: dirs $(SETUP_H) $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg tiff $(LIBTARGET)
all: dirs $(SETUP_H) $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) zlib $(LIBTARGET)
$(ARCHINCDIR)\wx:
mkdir $(ARCHINCDIR)
mkdir $(ARCHINCDIR)\wx
$(WXDIR)\include\wx\msw\setup.h:
cd $(WXDIR)\include\wx\msw
if not exist setup.h copy setup0.h setup.h
@ -157,7 +162,7 @@ $(WXDIR)\include\wx\msw\setup.h:
$(SETUP_H): $(WXDIR)\include\wx\msw\setup.h
copy $(WXDIR)\include\wx\msw\setup.h $@
dirs: $(MSWDIR)\$D $(COMMDIR)\$D
dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(ARCHINCDIR)\wx $(WXDIR)\$D
$D:
mkdir $D
@ -168,6 +173,9 @@ $(COMMDIR)\$D:
$(MSWDIR)\$D:
mkdir $(MSWDIR)\$D
$(WXDIR)\$D:
mkdir $(WXDIR)\$D
### Static library
$(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
@ -193,7 +201,7 @@ $(CPPFLAGS2) /c ..\common\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
..\common\lex_yy.c: ..\common\doslex.c
copy "..\common"\doslex.c "..\common"\lex_yy.c
$(OBJECTS): $(WXDIR)/include/wx/setup.h
$(OBJECTS): $(SETUP_H)
..\common\$D\unzip.obj: ..\common\unzip.c
cl @<<

View File

@ -405,7 +405,7 @@ HTMLOBJS = $(HTMLDIR)\$D\helpctrl.obj \
# Add $(HTMLOBJS) if wanting wxHTML classes
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) $(HTMLOBJS)
ARCHINCDIR=$(WXDIR)\lib\msw$(INCEXT)
ARCHINCDIR=$(WXDIR)\lib\$(_WXINC_BUILD)$(_WXINC_DLLSUFFIX)$(_WXINC_SUFFIX)$(LIBEXT)
SETUP_H=$(ARCHINCDIR)\wx\setup.h
# Normal, static library
@ -635,7 +635,7 @@ $(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
png:
cd $(WXDIR)\src\png
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) UNICODE=0
cd $(WXDIR)\src\msw
clean_png:
@ -645,7 +645,7 @@ clean_png:
zlib:
cd $(WXDIR)\src\zlib
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) UNICODE=0
cd $(WXDIR)\src\msw
clean_zlib:
@ -655,7 +655,7 @@ clean_zlib:
jpeg:
cd $(WXDIR)\src\jpeg
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) all
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) UNICODE=0 all
cd $(WXDIR)\src\msw
clean_jpeg:
@ -665,7 +665,7 @@ clean_jpeg:
tiff:
cd $(WXDIR)\src\tiff
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) all
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) UNICODE=0 all
cd $(WXDIR)\src\msw
clean_tiff:
@ -675,7 +675,7 @@ clean_tiff:
regex:
cd $(WXDIR)\src\regex
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) all
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) UNICODE=0 all
cd $(WXDIR)\src\msw
clean_regex:
@ -689,11 +689,11 @@ rcparser:
cd $(WXDIR)\src\msw
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 ..\..\lib\wx$(WXVERSION)$(LIBEXT).pdb
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).ilk
-erase ..\..\lib\$(WXLIBNAME).dll
-erase ..\..\lib\$(WXLIBNAME).lib
-erase ..\..\lib\$(WXLIBNAME).exp
-erase ..\..\lib\$(WXLIBNAME).pdb
-erase ..\..\lib\$(WXLIBNAME).ilk
clean: $(PERIPH_CLEAN_TARGET)