# -*- mode: makefile -*- # # Makefile of ROOT for AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc PLATFORM = linux DEBUGFLAGS = -g #DEBUGFLAGS = -gstabs OPTFLAGS = -O2 -DNDEBUG # Optional compiler options for gcc >= 3.4.0 #OPTFLAGS = -O3 -march=opteron ifeq (debug,$(findstring debug,$(ROOTBUILD))) OPT = $(DEBUGFLAGS) NOOPT = else OPT = $(OPTFLAGS) NOOPT = endif ifeq ($(CXX14),yes) CXX11FLAGS = -std=c++1y else CXX11FLAGS = -std=c++11 endif # Compiler: CXX ?= g++ CC ?= gcc CXXFLAGS = -pipe -m64 $(CXX11FLAGS) -Wshadow -Wall -W -Woverloaded-virtual \ -fPIC $(EXTRA_CXXFLAGS) \ -Wno-deprecated-declarations $(USERCONF_CXXFLAGS) CFLAGS = -pipe -m64 -Wshadow -Wall -W -fPIC $(EXTRA_CFLAGS) $(USERCONF_CFLAGS) COMPILER = gnu ifeq ($(WERROR),yes) CLINGCXXFLAGS += -Werror CXXFLAGS += -Werror NOOPT += -pedantic -Wno-long-long endif # Linker: LD ?= g++ LDFLAGS = -m64 $(OPT) $(EXTRA_LDFLAGS) -Wl,--no-undefined -Wl,--as-needed SOFLAGS = -shared -Wl,-soname, SOEXT = so # System libraries: SYSLIBS = -lm -ldl $(OSTHREADLIBDIR) $(OSTHREADLIB) \ $(ALLOCLIBDIR) $(ALLOCLIB) -rdynamic XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11 CILIBS = -lm -ldl -rdynamic CRYPTLIBS = -lcrypt # Fortran: ifneq ($(findstring gfortran, $(F77)),) ifeq ($(F77),) # only needed to get default compiler in ./configure F77 = gfortran endif F77FLAGS = -fPIC -m64 -std=legacy ifneq ($(shell $(F77) -m64 -print-file-name=libgfortran.$(SOEXT)),libgfortran.$(SOEXT)) F77LIBS := $(shell $(F77) -m64 -print-file-name=libgfortran.$(SOEXT)) else F77LIBS := $(shell $(F77) -m64 -print-file-name=libgfortran.a) endif F77LIBS += $(shell $(F77) -m64 -print-file-name=libgfortranbegin.a) endif ifneq ($(findstring g77, $(F77)),) ifeq ($(F77),) # only needed to get default compiler in ./configure F77 = g77 endif F77FLAGS = -fPIC -m64 ifneq ($(shell $(F77) -print-file-name=libg2c.so),libg2c.so) F77LIBS := $(shell $(F77) -m64 -print-file-name=libg2c.so) -lnsl else F77LIBS := $(shell $(F77) -m64 -print-file-name=libg2c.a) -lnsl endif endif # Extras GLIBC_MALLOC_DEPRECATED = yes ifneq ($(CXX:%clang++=),$(CXX)) ifneq ($(CXXMODULES),) CXXFLAGS += -fmodules endif endif