Makefile.linuxicc
# -*- mode: makefile -*-
#
# Makefile of ROOT for Linux with glibc and Intel icc >= v8 compiler
PLATFORM = linux
DEBUGFLAGS = -g
OPTFLAGS = -O
ifeq (debug,$(findstring debug,$(ROOTBUILD)))
OPT = $(DEBUGFLAGS)
NOOPT = -O0
else
OPT = $(OPTFLAGS)
NOOPT = -O0
endif
# Compiler:
CXX = icc
CC = icc
CXXFLAGS = -fPIC -wd1476 -msse -mfpmath=sse $(EXTRA_CXXFLAGS)
CFLAGS = -fPIC $(EXTRA_CFLAGS) -restrict
# Linker:
LD = icpc
LDFLAGS = $(OPT) $(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 += -m32 -wd1572 -wd279
CFLAGS += -m32 -wd1572 -wd279
LDFLAGS += -m32
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/ia32/ifort|compiler/lib|') \
-lifcore
F77FLAGS += -m32
else
ifeq ($(ICC_MAJOR),11)
F77LIBS := -L$(shell which ifort | sed -e 's|bin/ia32/ifort|lib/ia32|') \
-lifcore
F77FLAGS += -m32
else
F77LIBS := -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
-lifcore
endif
endif
endif
# Extras