Raw File
Makefile.linuxicc
# Makefile of ROOT for Linux with glibc and Intel icc 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      = $(EXTRA_CXXFLAGS)
CFLAGS        = $(EXTRA_CFLAGS) -restrict
CINTCXXFLAGS  = $(EXTRA_CXXFLAGS) \
                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
                -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO
CINTCFLAGS    = $(EXTRA_CFLAGS) -restrict \
                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
                -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO

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

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

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

# Fortran:
ifeq ($(ICC_MAJOR),8)
F77           = ifort
else
F77           = ifc
endif
F77FLAGS      =
# check path for libg2c and libfrtbegin
LIBG2C       := $(shell gcc -print-file-name=libg2c.a | \
                  awk '{ if ($$1 != "libg2c.a") print $$1}')
LIBFRTBEGIN  := $(shell gcc -print-file-name=libfrtbegin.a | \
                  awk '{ if ($$1 != "libfrtbegin.a") print $$1}')
ifeq ($(ICC_MAJOR),8)
F77LIBS       = $(LIBFRTBEGIN) $(LIBG2C) \
                -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
                -lifcore
else
F77LIBS       = $(LIBFRTBEGIN) $(LIBG2C) \
                -L$(shell which ifc | sed -e 's|bin/ifc|lib|') \
                -lF90 -lCEPCF90 -lintrins
endif

# Extras

back to top