Revision 78e8886d66ed8893f1caae5a2c82e3cacb027050 authored by Vassil Vassilev on 30 January 2014, 13:01:23 UTC, committed by Vassil Vassilev on 06 February 2014, 13:28:08 UTC
1 parent ffe97a0
Raw File
Makefile.linuxx8664k1omicc
# -*- mode: makefile -*-
#
# Makefile of ROOT for Linux on Intel Many Integrated Cores Architecture (Knights Corner) with icc >= v8 compiler

PLATFORM      = linux-k1om

DEBUGFLAGS    = -g
OPTFLAGS      = -O
ifeq (debug,$(findstring debug,$(ROOTBUILD)))
OPT           = $(DEBUGFLAGS)
NOOPT         = -O0
else
OPT           = $(OPTFLAGS)
NOOPT         = -O0
endif

# MIC flags
MICFLAGS      = -mmic

# Compiler:
CXX           = icc
CC            = icc
CXXFLAGS      = -fPIC -wd1476 $(MICFLAGS) $(EXTRA_CXXFLAGS) -O2 -m64 -no-vec -no-fma -Wall -DWARNINGMSG
CFLAGS        = -fPIC $(MICFLAGS) $(EXTRA_CFLAGS) -restrict
CINTCXXFLAGS  = -fPIC $(MICFLAGS) $(EXTRA_CXXFLAGS) \
                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
                -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \
                -DG__STD_EXCEPTION -DG__64BIT
CINTCFLAGS    = -fPIC $(MICFLAGS) $(EXTRA_CFLAGS) -restrict \
                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
                -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \
                -DG__STD_EXCEPTION -DG__64BIT

# Linker:
LD            = icpc
LDFLAGS       = $(OPT) $(MICFLAGS) $(EXTRA_LDFLAGS)
SOFLAGS       = -shared -Wl,-soname,
SOEXT         = so

# Compiler version:
ICC_MAJOR    := $(shell $(CXX) -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
                cut -d'.' -f1)
ICC_MINOR    := $(shell $(CXX) -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
                cut -d'.' -f2)
ifeq ($(ICC_MAJOR),version)
ICC_MAJOR    := $(shell $(CXX) -v 2>&1 | awk '{ if (NR==1) print $$3 }' | \
                cut -d'.' -f1)
ICC_MINOR    := $(shell $(CXX) -v 2>&1 | awk '{ if (NR==1) print $$3 }' | \
                cut -d'.' -f2)
endif

ifeq ($(ICC_MAJOR),9)
CXXFLAGS     += -wd1572
CFLAGS       += -wd1572
CINTCXXFLAGS += -wd1572
CINTCFLAGS   += -wd1572
ICC_GE_9      = $(ICC_MAJOR)
endif

ifeq ($(ICC_MAJOR),10)
CXXFLAGS     += -wd1572
CFLAGS       += -wd1572
CINTCXXFLAGS += -wd1572
CINTCFLAGS   += -wd1572
ICC_GE_9      = $(ICC_MAJOR)
ifneq ($(ICC_MINOR),0)
ICC_GE_101    = $(ICC_MAJOR)$(ICC_MINOR)
endif
endif

ifeq ($(findstring $(ICC_MAJOR),10 9),)
CXXFLAGS     += -m64 -wd1572 -wd279
CFLAGS       += -m64 -wd1572 -wd279
CINTCXXFLAGS += -m64 -wd1572 -wd279
CINTCFLAGS   += -m64 -wd1572 -wd279
LDFLAGS      += -m64
ICC_GE_9      = $(ICC_MAJOR)
ICC_GE_101    = $(ICC_MAJOR)$(ICC_MINOR)
endif

# System libraries:
SYSLIBS       = -limf -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \
                $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic
XLIBS         = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11
CILIBS        = -limf -lm -ldl -rdynamic
CRYPTLIBS     = -lcrypt

# Fortran:
ifeq ($(F77),ifort)
F77           = ifort
F77FLAGS      = -fPIC
ifeq ($(findstring $(ICC_MAJOR),11 10 9),)
F77LIBS      := -L$(shell which ifort | sed -e 's|bin/intel64/ifort|compiler/lib|') \
                -lifcore
F77FLAGS     += -m64
else
ifeq ($(ICC_MAJOR),11)
F77LIBS      := -L$(shell which ifort | sed -e 's|bin/intel64/ifort|lib/intel64|') \
                -lifcore
F77FLAGS     += -m64
else
F77LIBS      := -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
                -lifcore
endif
endif
endif

# Extras
back to top