# -*- 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