# -*- 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 = -fPIC -wd1476 $(MICFLAGS) $(EXTRA_CXXFLAGS) -O2 -m64 -no-vec -no-fma -Wall -DWARNINGMSG $(USERCONF_CXXFLAGS) CFLAGS = -fPIC $(MICFLAGS) $(EXTRA_CFLAGS) -restrict $(USERCONF_CFLAGS) CINTCXXFLAGS = -fPIC $(MICFLAGS) $(EXTRA_CXXFLAGS) \ -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \ -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \ -DG__STD_EXCEPTION -DG__64BIT $(USERCONF_CXXFLAGS) CINTCFLAGS = -fPIC $(MICFLAGS) $(EXTRA_CFLAGS) -restrict \ -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \ -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO \ -DG__STD_EXCEPTION -DG__64BIT $(USERCONF_CFLAGS) # 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 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 += -m64 -wd1572 -wd279 CFLAGS += -m64 -wd1572 -wd279 CINTCXXFLAGS += -m64 -wd1572 -wd279 CINTCFLAGS += -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