#
# qmake configuration for win32-borland
#
# Written for Borland C++
#

MAKEFILE_GENERATOR	= BMAKE
TEMPLATE		= app
CONFIG			+= qt warn_on release link_prl copy_dir_files no_empty_targets cd_change_global debug_and_release debug_and_release_target
QT			+= core gui
DEFINES			+= UNICODE
QMAKE_NOFORCE		= 1
QMAKE_COMPILER_DEFINES  += __BORLANDC__ WIN32

QMAKE_CC		= bcc32
QMAKE_LEX		= flex
QMAKE_LEXFLAGS		=
QMAKE_YACC		= byacc
QMAKE_YACCFLAGS		= -d
QMAKE_CFLAGS		= -tWR -tWM
QMAKE_CFLAGS_WARN_ON	= -w -w-hid
QMAKE_CFLAGS_WARN_OFF	= -w-
QMAKE_CFLAGS_RELEASE	= -O2
QMAKE_CFLAGS_DEBUG	= -v
QMAKE_CFLAGS_YACC	=
QMAKE_CFLAGS_CONSOLE	= -tWC

QMAKE_CXX		= $$QMAKE_CC
QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_WARN_ON	= $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF	= $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE	= $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG	= $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC	= $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_CONSOLE	= $$QMAKE_CFLAGS_CONSOLE
QMAKE_CXXFLAGS_STL_ON	=
QMAKE_CXXFLAGS_STL_OFF	=
QMAKE_CXXFLAGS_RTTI_ON	=
QMAKE_CXXFLAGS_RTTI_OFF	= -RT-
QMAKE_CXXFLAGS_EXCEPTIONS_ON =
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -x-

QMAKE_INCDIR		=
QMAKE_LIBDIR		= $(BCB)\\lib
QMAKE_INCDIR_QT		= $$[QT_INSTALL_HEADERS]
QMAKE_LIBDIR_QT		= $$[QT_INSTALL_LIBS]

QMAKE_RUN_CC		= $(CC) -c $(CFLAGS) $(INCPATH) -o$obj $src
QMAKE_RUN_CC_IMP	= $(CC) -c $(CFLAGS) $(INCPATH) -o$@ $<
QMAKE_RUN_CXX		= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$obj $src
QMAKE_RUN_CXX_IMP	= $(CXX) -c $(CXXFLAGS) $(INCPATH) -o$@ $<

QMAKE_LINK		= ilink32
QMAKE_LFLAGS		= -c -x -Gn
QMAKE_LFLAGS_RELEASE	=
QMAKE_LFLAGS_DEBUG	= -v
QMAKE_LFLAGS_CONSOLE	= -ap -Tpe c0x32.obj
QMAKE_LFLAGS_WINDOWS	= -aa -Tpe c0w32.obj
QMAKE_LFLAGS_DLL= -Gi -aa -Tpd c0d32.obj

QMAKE_LIBS		= import32.lib cw32mti.lib
QMAKE_LIBS_CORE         =
QMAKE_LIBS_GUI          =
QMAKE_LIBS_NETWORK      = ws2_32.lib 
QMAKE_LIBS_OPENGL       =
QMAKE_LIBS_COMPAT       =
QMAKE_LIBS_QT_ENTRY	= -lqtmain

#QMAKE_LIBS_OPENGL	=
#QMAKE_LFLAGS_OPENGL	= /dopengl32.dll

QMAKE_MOC		= $$[QT_INSTALL_BINS]\\moc.exe
QMAKE_UIC		= $$[QT_INSTALL_BINS]\\uic.exe
QMAKE_IDC		= $$[QT_INSTALL_BINS]\\idc.exe

QMAKE_IDL		= midl
QMAKE_LIB		= tlib /C /P256
QMAKE_RC		= brcc32 -dQ_CC_BOR

QMAKE_ZIP		= zip -r -9

QMAKE_COPY		= copy /y
QMAKE_COPY_DIR		= xcopy /s /q /y /i
QMAKE_MOVE		= move
QMAKE_DEL_FILE		= del
QMAKE_DEL_DIR		= rmdir
QMAKE_CHK_DIR_EXISTS	= if not exist
QMAKE_MKDIR		= mkdir

load(qt_config)
