#
# qmake configuration for linux-icc
#
# Written for Intel C++ Compiler versions 10.x for GNU/Linux
#
# Note: Some of the remarks from the Intel compiler are disabled (even
# with 'warn_on' specified):
#
# warning #654: overloaded virtual function "T::f" is only partially overridden in class "U"
# warning #1572: floating-point equality and inequality comparisons are unreliable
#

MAKEFILE_GENERATOR	= UNIX
TARGET_PLATFORM		= unix
TEMPLATE		= app
CONFIG			+= qt warn_on release link_prl gdb_dwarf_index
QT			+= core gui

QMAKE_CC		= icc
QMAKE_LEX		= flex
QMAKE_LEXFLAGS		=
QMAKE_YACC		= yacc
QMAKE_YACCFLAGS		= -d
QMAKE_CFLAGS		= -falign-stack=maintain-16-byte
QMAKE_CFLAGS_DEPS	= -M
QMAKE_CFLAGS_WARN_ON	= -w1 -Wcheck -wd654,1572,411,873,1125,2259
QMAKE_CFLAGS_WARN_OFF	= -w
QMAKE_CFLAGS_RELEASE	= -O2 -falign-functions=16 -ansi-alias -fstrict-aliasing
QMAKE_CFLAGS_DEBUG	= -O0 -g
QMAKE_CFLAGS_SHLIB	= -fPIC -fno-jump-tables
QMAKE_CFLAGS_STATIC_LIB	= $$QMAKE_CFLAGS_SHLIB
QMAKE_CFLAGS_YACC	=
QMAKE_CFLAGS_THREAD	= -D_REENTRANT

QMAKE_CXX		= icpc
QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS
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		= icpc
QMAKE_LINK_SHLIB	= icpc
QMAKE_LFLAGS		=
QMAKE_LFLAGS_RELEASE	=
QMAKE_LFLAGS_DEBUG	=
QMAKE_LFLAGS_SHLIB	= -shared -shared-intel
QMAKE_LFLAGS_PLUGIN	= $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME	= -Wl,-soname,
QMAKE_LFLAGS_THREAD	=
QMAKE_LFLAGS_NOUNDEF	= -Wl,-z,defs
QMAKE_LFLAGS_RPATH	= -Wl,-rpath,

QMAKE_LIBS		=
QMAKE_LIBS_DYNLOAD	= -ldl
QMAKE_LIBS_X11		= -lXext -lX11 -lm
QMAKE_LIBS_X11SM	= -lSM -lICE
QMAKE_LIBS_NIS		= -lnsl
QMAKE_LIBS_OPENGL	= -lGL
QMAKE_LIBS_OPENGL_QT	= -lGL
QMAKE_LIBS_THREAD	= -lpthread

QMAKE_MOC		= $$[QT_INSTALL_BINS]/moc
QMAKE_UIC		= $$[QT_INSTALL_BINS]/uic

QMAKE_AR		= xiar 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

# pch support
CONFIG += icc_pch_style
QMAKE_PCH_OUTPUT_EXT    = .pchi
QMAKE_CXXFLAGS_USE_PRECOMPILE = -pch-use ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT}
QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_TEMP_OBJECT} ${QMAKE_PCH_TEMP_SOURCE} 

# -Bsymbolic-functions (ld) support
QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,

# Symbol visibility control
QMAKE_CFLAGS_HIDESYMS   += -fvisibility=hidden
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden

include(../common/unix.conf)
load(qt_config)
