https://github.com/root-project/root
Raw File
Tip revision: 34a07b26a7abbc1a9628603ab01596e6a511ffba authored by Fons Rademakers on 07 October 2009, 22:25:29 UTC
tag patch release v5-24-00a.
Tip revision: 34a07b2
Makefile.linuxx8664icc
# -*- mode: makefile -*-
#
# Makefile of ROOT for Linux on AMD64 and Intel EM64T with 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 $(EXTRA_CXXFLAGS)
CFLAGS        = -fPIC $(EXTRA_CFLAGS) -restrict
CINTCXXFLAGS  = -fPIC $(EXTRA_CXXFLAGS) \
                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
                -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \
                -DG__STD_EXCEPTION -DG__64BIT
CINTCFLAGS    = -fPIC $(EXTRA_CFLAGS) -restrict \
                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
                -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \
                -DG__STD_EXCEPTION -DG__64BIT

# 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),9)
CXXFLAGS     += -wd1572
CFLAGS       += -wd1572
CINTCXXFLAGS += -wd1572
CINTCFLAGS   += -wd1572
USE_PCH       = -use_pch
CREATE_PCH    = -create_pch
ICC_GE_9      = 9
endif

ifeq ($(ICC_MAJOR),10)
CXXFLAGS     += -wd1572
CFLAGS       += -wd1572
CINTCXXFLAGS += -wd1572
CINTCFLAGS   += -wd1572
USE_PCH       = -pch-use
CREATE_PCH    = -pch-create
ICC_GE_9      = 10
ifneq ($(ICC_MINOR),0)
ICC_GE_101    = 101
endif
endif

ifeq ($(ICC_MAJOR),11)
CXXFLAGS     += -wd1572
CFLAGS       += -wd1572
CINTCXXFLAGS += -wd1572
CINTCFLAGS   += -wd1572
USE_PCH       = -pch-use
CREATE_PCH    = -pch-create
ICC_GE_9      = 11
ICC_GE_101    = 110
endif

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

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

# Fortran:
ifeq ($(F77),ifort)
F77           = ifort
F77FLAGS      = -fPIC
F77LIBS      := -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
                -lifcore
endif

# Precompiled headers:
PCHSUPPORTED := $(ENABLEPCH)
ifeq ($(PCHSUPPORTED),yes)
  PCHFILE          = include/precompile.pchi
  PCHCXXFLAGS      = -DUSEPCH -include precompile.h $(USE_PCH) $(PCHFILE)
  PCHEXTRAOBJBUILD = $(CXX) $(OPT) $(CXXFLAGS) -DUSEPCH \
                     -include precompile.h $(CREATE_PCH) $(PCHFILE) \
                     -c $(PCHEXTRASRC) -o $(PCHEXTRAOBJ)
endif

# Extras
back to top