#
# qmake configuration for win32-icc
#
# Written for Intel C++
#

MAKEFILE_GENERATOR	= MSVC.NET
TEMPLATE		= app
CONFIG			+= qt warn_on release incremental flat link_prl copy_dir_files debug_and_release debug_and_release_target
QT			+= core gui
DEFINES			+= UNICODE QT_LARGEFILE_SUPPORT
QMAKE_COMPILER_DEFINES  += __INTEL_COMPILER WIN32

QMAKE_CC		= icl
QMAKE_LEX		= flex
QMAKE_LEXFLAGS		=
QMAKE_YACC		= byacc
QMAKE_YACCFLAGS		= -d
QMAKE_CFLAGS		= -nologo -Zm200 /Qprec /Qwd1744,1738
QMAKE_CFLAGS_WARN_ON	= -W3 /Qwd673
QMAKE_CFLAGS_WARN_OFF	= -W0 /Qwd673
QMAKE_CFLAGS_RELEASE	= -O2 -MD 
# Giving -O2 to debug builds should make icc 9.1 happy, but it might make debugging harder, so it might be reverted.
# This is actually a workaround for a bug in icc 9.1.
QMAKE_CFLAGS_DEBUG	= -Zi -MDd -O2
QMAKE_CFLAGS_YACC	=

QMAKE_CXX		= $$QMAKE_CC
QMAKE_CXXFLAGS		= $$QMAKE_CFLAGS /Zc:forScope
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_STL_ON	= -GX
QMAKE_CXXFLAGS_STL_OFF	=
QMAKE_CXXFLAGS_RTTI_ON	= -GR
QMAKE_CXXFLAGS_RTTI_OFF	=
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -GX
QMAKE_CXXFLAGS_EXCEPTIONS_OFF =

QMAKE_INCDIR		=
QMAKE_INCDIR_QT		= $$[QT_INSTALL_HEADERS]
QMAKE_LIBDIR_QT		= $$[QT_INSTALL_LIBS]

QMAKE_RUN_CC		= $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
QMAKE_RUN_CC_IMP	= $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
QMAKE_RUN_CC_IMP_BATCH	= $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<<
QMAKE_RUN_CXX		= $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src
QMAKE_RUN_CXX_IMP	= $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $<
QMAKE_RUN_CXX_IMP_BATCH	= $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<

QMAKE_LINK		= xilink
QMAKE_LFLAGS		= /NOLOGO
QMAKE_LFLAGS_RELEASE	=
QMAKE_LFLAGS_DEBUG	= /DEBUG
QMAKE_LFLAGS_CONSOLE	= /SUBSYSTEM:console
QMAKE_LFLAGS_WINDOWS	= /SUBSYSTEM:windows
QMAKE_LFLAGS_DLL        = /DLL
QMAKE_LFLAGS_QT_DLL	= /BASE:0x39D00000

QMAKE_LIBS		=
QMAKE_LIBS_CORE         = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib
QMAKE_LIBS_GUI          = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib winspool.lib ws2_32.lib ole32.lib user32.lib advapi32.lib
QMAKE_LIBS_NETWORK      = ws2_32.lib
QMAKE_LIBS_OPENGL       = glu32.lib opengl32.lib gdi32.lib user32.lib delayimp.lib
QMAKE_LIBS_COMPAT       = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib
QMAKE_LIBS_QT_ENTRY	= -lqtmain

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		= xilib /NOLOGO
QMAKE_RC		= rc

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

DSP_EXTENSION		= .dsp
load(qt_config)
