# Purpose: Watcom environments for wxWindows makefiles.
# Author: Julian Smart and others
# Version: $Id$
+# Changelist: 2003-02-25 - Juergen Ulbts - update from wxWindows 2.5.x/HEAD branch
###############################################################################
# The following environment variables must be set:
!endif
# set FINAL=1 to disable debug and enable optimizations
+!ifndef FINAL
FINAL=0
+!endif
# set WATCOM_SUFFIX to nothing if you use only Watcom compiler, set it to
# something Watcom-specific if you want to build wxWindows with more than one
# compiler
WATCOM_SUFFIX=_w
+# change/remove this if you want to create programs for older Windows versions,
+# increase the version to be able to use more Win2K+-only features
+WINVERFLAGS = /dWINVER=0x400 /d_WIN32_IE=0x0300
+
+# optimize for space/time: /os or /ot
+!ifeq FINAL 1
+OPTFLAGS=/oails /5r
+!else
+OPTFLAGS=/od
+!endif
+
+
+###############################################################################
+# You shouldn't have to modify anything after this point
+###############################################################################
+
.EXTENSIONS:
.EXTENSIONS: .exe .obj .c .cc .cpp .res .rc .def
!ifeq wxUSE_GUI 0
TOOLKIT = base
BASEDIRPREFIX = Base
-LINKOPTION = nt
+LINKSYSTEM = nt
!else
TOOLKIT = msw
-LINKOPTION = nt_win
+LINKSYSTEM = nt_win
BASEDIRPREFIX =
!endif
ARCHINCDIR=$(WXDIR)\lib\$(TOOLKIT)$(DEBUGSUFFIX)
+# set the things which depend on debug/release
+#
+# note that the values for LIBPAGESIZE are minimal possible, the library
+# doesn't link (Error! Library too large) with values smaller than given
!ifeq FINAL 1
CONFIGURATION=Release
+LIBPAGESIZE=/p=1024
!else
CONFIGURATION=Debug
+LIBPAGESIZE=/p=2048
!endif
# set OUTPUTDIR to the directory to be used for the .obj files created during
# the build (under $WXWIN)
!ifndef OUTPUTDIR
-OUTPUTDIR=$(WXDIR)\$(BASEDIRPREFIX)$(CONFIGURATION)Watcom\
+OUTPUTDIR=$(WXDIR)\$(BASEDIRPREFIX)$(CONFIGURATION)Watcom
+# no trailing slash for win98
!endif
!ifneq NOPRECOMP 1
-PRECOMP = /fh=$(OUTPUTDIR)watcom.pch
+PRECOMP = /fh=$(OUTPUTDIR)\watcom.pch
!endif
# the basename of the library
LIBNAME=wx$(TOOLKIT)$(DEBUGSUFFIX)$(WATCOM_SUFFIX)
-# You shouldn't have to modify anything after this point
-########################################################
-
# only LEVEL=386 is currently supported, 16 bit compilation is probably broken
LEVEL = 386
CXX = wpp$(LEVEL)
CC = wcc$(LEVEL)
+LIB = wlib /q
RC = wrc
-WINVERFLAGS = /dWINVER=0x400
BINDCOMMAND = wrc
WATLIBDIR = $(WATCOMDIR)\lib386\nt
STACK = option stack=64k
!endif
$(WATLIBDIR)\comctl32.lib &
$(WATLIBDIR)\comdlg32.lib &
+ $(WATLIBDIR)\wsock32.lib &
$(WATLIBDIR)\odbc32.lib &
$(WATLIBDIR)\ole32.lib &
$(WATLIBDIR)\oleaut32.lib &
-i=$(WXDIR)\include\wx\msw\gnuwin32
RESFLAGS = -q -r -bt=nt /i$(WXDIR)\include /i$(WXDIR)\contrib\include $(WINVERFLAGS)
-# Here are some possible optimization flags:
-# /5r Pentium timings
-# /fp5 /fpi87 Inline 80x87 instructions optimized for Pentium: coprocessor must be present
-# /ox Standard optimizations
-# /or Reordering for Pentium timings (included in /ox)
-# The Watcom-recommended flags for optimum Pentium speed are:
-# /oneatx /zp4 /5 /fpi87 /fp5
-# for PPro:
-# OPTFLAGS=/oneatx /oh /oi+ /ei /zp8 /6 /fp6
-#
-# optimize for space/time: /os or /ot
-!ifeq FINAL 1
-OPTFLAGS=/oails /5r
-!else
-OPTFLAGS=/od
-!endif
-
# NB: /bm switch is needed for thread-safe runtime, if you don't use
# wxThread you may remove it
-CPPFLAGS = /dWIN32 /bm /fo=$(OUTPUTDIR) /fr /zq $(IFLAGS) $(OPTFLAGS) $(WINVERFLAGS) $(EXTRACPPFLAGS)
+CPPFLAGS = /dWIN32 /bm /fo=$(OUTPUTDIR)\ /fr /zq $(IFLAGS) $(OPTFLAGS) $(WINVERFLAGS) $(EXTRACPPFLAGS)
!ifeq wxUSE_GUI 0
CPPFLAGS += /dwxUSE_GUI=0
!endif
-CFLAGS = $(CPPFLAGS) $(DEBUGCFLAGS) $(EXTRACFLAGS)
-CXXFLAGS = $(CPPFLAGS) $(DEBUGCXXFLAGS) $(PRECOMP) /w=8 $(EXTRACXXFLAGS)
+# zm and zv as well as the liker options below are used to make the resulting
+# .exe smaller
+CFLAGS = $(CPPFLAGS) $(DEBUGCFLAGS) $(EXTRACFLAGS) /zm
+CXXFLAGS = $(CPPFLAGS) $(DEBUGCXXFLAGS) $(PRECOMP) /zm /zv /w=8 $(EXTRACXXFLAGS)
+LDFLAGS = option eliminate, vfremoval
.cpp.obj: # $< # .AUTODEPEND
*$(CXX) $(CXXFLAGS) $<
defaulttarget: all .SYMBOLIC
erasepch: .SYMBOLIC
- -erase $(OUTPUTDIR)watcom.pch
+ -erase $(OUTPUTDIR)\watcom.pch
+