#
# qmake configuration for linux-kcc
#
# Written for KAI C++ 4.0f for GNU/Linux
#
# This product has been discontinued, use Intel C++ instead.
#
# From the KAI C++ man page for Linux:
# --[no_]thread_safe
# 	[Waive or] Request thread-safe handling of system-allocated objects.
# 	To guarantee thread safety, this option must be used when both
# 	compiling and linking. Thread-safe C++ is not link-compatible with
# 	(the default) non-thread-safe C++.
#

MAKEFILE_GENERATOR	= UNIX
TARGET_PLATFORM		= unix
TEMPLATE		= app
CONFIG			+= qt warn_on release link_prl
QT			+= core gui

QMAKE_CC		= KCC
QMAKE_LEX		= flex
QMAKE_LEXFLAGS		=
QMAKE_YACC		= yacc
QMAKE_YACCFLAGS		= -d
QMAKE_CFLAGS		= --c --display_error_number --backend -pipe
QMAKE_CFLAGS_DEPS	= -M
QMAKE_CFLAGS_WARN_ON	=
QMAKE_CFLAGS_WARN_OFF	= -w
QMAKE_CFLAGS_RELEASE	= +K2
QMAKE_CFLAGS_DEBUG	= +K0
QMAKE_CFLAGS_SHLIB	= -fPIC
QMAKE_CFLAGS_STATIC_LIB	= $$QMAKE_CFLAGS_SHLIB
QMAKE_CFLAGS_YACC	= --diag_suppress 111,177
QMAKE_CFLAGS_THREAD	= --thread_safe

QMAKE_CXX		= KCC
QMAKE_CXXFLAGS		= --display_error_number --diag_suppress 611,1142 --backend -pipe
QMAKE_CXXFLAGS_DEPS	= $$QMAKE_CFLAGS_DEPS
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_SHLIB	= $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
QMAKE_CXXFLAGS_YACC	= $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_THREAD	= $$QMAKE_CFLAGS_THREAD

QMAKE_INCDIR		=
QMAKE_LIBDIR		=
QMAKE_INCDIR_X11	= /usr/X11R6/include
QMAKE_LIBDIR_X11	= /usr/X11R6/lib
QMAKE_INCDIR_QT		= $$[QT_INSTALL_HEADERS]
QMAKE_LIBDIR_QT		= $$[QT_INSTALL_LIBS]
QMAKE_INCDIR_OPENGL	= /usr/X11R6/include
QMAKE_LIBDIR_OPENGL	= /usr/X11R6/lib

QMAKE_LINK		= KCC
QMAKE_LINK_SHLIB	= KCC
QMAKE_LFLAGS		=
QMAKE_LFLAGS_RELEASE	=
QMAKE_LFLAGS_DEBUG	=
QMAKE_LFLAGS_SHLIB	=
QMAKE_LFLAGS_PLUGIN	= $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME	= --soname$$LITERAL_WHITESPACE
QMAKE_LFLAGS_THREAD	= --thread_safe
QMAKE_LFLAGS_RPATH	= -rpath$$LITERAL_WHITESPACE

QMAKE_LIBS		=
QMAKE_LIBS_DYNLOAD	= -ldl
QMAKE_LIBS_X11		= -lXext -lX11 -lm
QMAKE_LIBS_X11SM	= -lSM -lICE
QMAKE_LIBS_NIS		= -lnsl
QMAKE_LIBS_OPENGL	= -lGLU -lGL
QMAKE_LIBS_OPENGL_QT	= -lGL
QMAKE_LIBS_THREAD	=

QMAKE_MOC		= $$[QT_INSTALL_BINS]/moc
QMAKE_UIC		= $$[QT_INSTALL_BINS]/uic

QMAKE_AR		= ar cqs
QMAKE_OBJCOPY           = objcopy
QMAKE_RANLIB		=

QMAKE_CLEAN		= -r $(OBJECTS_DIR)ti_files

QMAKE_TAR		= tar -cf
QMAKE_GZIP		= gzip -9f

QMAKE_COPY		= cp -f
QMAKE_MOVE		= mv -f
QMAKE_DEL_FILE		= rm -f
QMAKE_DEL_DIR		= rmdir
QMAKE_CHK_DIR_EXISTS	= test -d
QMAKE_MKDIR		= mkdir -p
include(../common/unix.conf)
load(qt_config)
