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 = -std=c++11 -fPIC -wd1476 $(MICFLAGS) $(EXTRA_CXXFLAGS) \
-m64 -no-vec -no-fma -Wall -DWARNINGMSG
CFLAGS = -m64 -fPIC $(MICFLAGS) $(EXTRA_CFLAGS) -restrict
# 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
ICC_GE_9 = $(ICC_MAJOR)
endif
ifeq ($(ICC_MAJOR),10)
CXXFLAGS += -wd1572
CFLAGS += -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
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 $(MICFLAGS)
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