# -*- 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 $(EXTRA_CXXFLAGS) $(USERCONF_CXXFLAGS) CFLAGS = -fPIC $(EXTRA_CFLAGS) -restrict $(USERCONF_CFLAGS) CINTCXXFLAGS = -fPIC $(EXTRA_CXXFLAGS) \ -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \ -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \ -DG__STD_EXCEPTION $(USERCONF_CXXFLAGS) CINTCFLAGS = -fPIC $(EXTRA_CFLAGS) -restrict \ -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \ -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \ -DG__STD_EXCEPTION $(USERCONF_CFLAGS) # 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 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 += -m32 -wd1572 -wd279 CFLAGS += -m32 -wd1572 -wd279 CINTCXXFLAGS += -m32 -wd1572 -wd279 CINTCFLAGS += -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