# Common settings for Borland 32-bit compilation (makefile.b32 files)
+!if "$(RM)" == ""
+RM= erase
+!endif
+
WXDIR = $(WXWIN)
CFG = $(WXDIR)\src\msw\wxwin32.cfg
+
+BCCDIR=$(MAKEDIR)\..
+
+!if "$(BCCDIR)" == "\.."
+!error Your Borland compiler does not define MAKEDIR. Pleasedefine the BCCDIR variable in makeb32.env line 10, e.g. BCCDIR=d:\bc4
+!endif
+
+ARCHINCDIR=$(WXDIR)\lib\msw
+ARCHSETUPH=$(ARCHINCDIR)\wx\setup.h
+
+# Using a config file isn't compatible across all BC++ versions
+# LNKCFG=$(WXDIR)\src\msw\bclnk32.cfg
WXLIBDIR = $(WXDIR)\lib
-WXINC = $(WXDIR)\include
+WXLIBDIR2 = $(WXDIR)\contrib\lib
+WXINC = $(WXDIR)\include;$(WXDIR)\contrib\include;$(WXDIR)\src\iodbc;$(WXDIR)\src\regex;
WIN95FLAG = -D__WIN95__ -D__WINDOWS__
+RFLAGS = -i$(WXDIR)\include;$(WXDIR)\src
+
+# This should be changed to tlink32 if ilink32 is not available.
+# Ilink32 is available on BC++ 5.02 and above, and all
+# versions of C++ Builder.
+!ifndef LINK
+LINK=ilink32
+#LINK=tlink32
+!endif
!ifndef FINAL
FINAL=0
!endif
-!if "$(FINAL)" == "0"
-OPT = -Od
-DEBUG_FLAGS= -v -DWXDEBUG=1 -D__WXDEBUG__ -DUSE_DEFINE
-!else
+!if "$(FINAL)" == "1"
OPT = -O2
DEBUG_FLAGS = -DUSE_DEFINE
+LINKDEBUGFLAGS=
+!else
+OPT = -Od
+DEBUG_FLAGS= -v -DWXDEBUG=1 -D__WXDEBUG__ -DUSE_DEFINE
+LINKDEBUGFLAGS=/v
!endif
!ifndef DLL
# DLL use wxWin STATIC 0 0 1
#
-!if "$(WXMAKINGDLL)" == "1"
-DLL_FLAGS= -DWXMAKINGDLL=1 -D_WINDLL
-WXLIB= $(WXLIBDIR)\wx200.lib
+# Determine the library name depending on the options, to allow
+# multiple versions to coexist.
+# Note that the clean target will only delete the appropriate .lib for the current
+# options and all the obj files, and note that you must delete the obj files if you
+# change the options so that they are compiled using the correct ones.
+!if "$(WXMAKINGDLL)" == "1" || "$(WXUSINGDLL)" == "1"
+WXLIBNAME=wx32
!else
+WXLIBNAME=wx32
+!endif
-LINK_FLAGS= /Tpe /ap /c
+!if "$(UNICODE)" == "1"
+WXLIBNAME=$(WXLIBNAME)u
+!endif
+
+!if "$(FINAL)" == "1"
+WXLIBNAME=$(WXLIBNAME)$(FINAL)
+!else if "$(FINAL)" == "hybrid"
+WXLIBNAME=$(WXLIBNAME)h
+!else
+guilibsdll= oldnames.lib kernel32.lib \
+ ws2_32.lib mswsock.lib advapi32.lib user32.lib \
+ gdi32.lib comdlg32.lib winspool.lib
+WXLIBNAME=$(WXLIBNAME)d
+!endif
+
+!if "$(wxUSE_GUI)" == "0"
+WXLIBNAME=$(WXLIBNAME)b
+CPPFLAGS=-DwxUSE_GUI=0
+!endif
+
+!if "$(WXMAKINGDLL)" == "1" || "$(WXUSINGDLL)" == "1"
+INCEXT=dll$(INCEXT)
+!endif
+
+!ifndef WXLIBDIR
+WXLIBDIR=$(WXDIR)\lib
+!endif
+
+WXLIB=$(WXLIBDIR)\$(WXLIBNAME).lib
+WXDLL=$(WXLIBDIR)\$(WXLIBNAME).dll
+
+!if "$(WXMAKINGDLL)" == "1"
+DLL_FLAGS= -DWXMAKINGDLL=1 -D_RTLDLL
+!else
!if "$(WXUSINGDLL)" == "1"
-DLL_FLAGS= -DWXUSINGDLL=1
-WXLIB= $(WXLIBDIR)\wx200.lib
+DLL_FLAGS= -DWXUSINGDLL=1 -D_RTLDLL
!else
DLL_FLAGS=
-WXLIB= $(WXLIBDIR)\wx32.lib
!endif
!endif
!if "$(WXBUILDDLL)" == "1"
-DLL_FLAGS= $(DLL_FLAGS) -D_RTLDLL
-LINK_FLAGS= /Tpd /ap /c
+LINK_FLAGS= /Tpd /c $(EXTRALINKFLAGS)
!endif
-CPPFLAGS=$(DLL_FLAGS) @$(CFG)
+CPPFLAGS=$(CPPFLAGS) $(DLL_FLAGS) $(EXTRACPPFLAGS) @$(CFG)
DUMMY=dummy
SRCSUFF = cpp
OBJSUFF = obj
+WAITFLAG = /w
+
.$(SRCSUFF).obj:
- bcc32 $(CPPFLAGS) -c {$< }
+ bcc32 $(CPPFLAGS) -c {$< }
.c.obj:
- bcc32 $(CPPFLAGS) -P- -c {$< }
+ bcc32 $(CPPFLAGS) -P- -c {$< }