# -*- mode: makefile -*- # Makefile to build AliRoot for Linux # System dependent commands XARGS = xargs -r # The compilers CXX = g++ CC = gcc CCMAJORV = $(shell $(CC) -dumpversion | cut -d. -f1) CCMINORV = $(shell $(CC) -dumpversion | cut -d. -f2) F77 = $(shell root-config --f77) # Global optimisation OPT = -O -g NOOPT = -g CXXOPT = $(OPT) CXXNOOPT = $(NOOPT) COPT = $(OPT) FOPT = $(OPT) # CERNLIB defines CLIBDEFS = -DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ CLIBCXXOPTS = CLIBCOPT = CLIBFOPT = $(CLIBDEFS) # Compiler flags ifeq ($(CCMAJORV),2) CXXFLAGS = $(OPT) -W -Wall -fPIC -pipe -m64 CXXFLAGSNO = $(NOOPT) -W -Wall -fPIC -pipe -m64 else ifeq ($(CCMAJORV),3) CXXFLAGS = $(OPT) -W -Wall -Weffc++ -Woverloaded-virtual -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi -Dlinux -m64 CXXFLAGSNO = $(NOOPT) -W -Wall -Weffc++ -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi -m64 else ifeq ($(CCMAJORV),4) CXXFLAGS = $(OPT) -W -Wall -Weffc++ -Woverloaded-virtual -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi -Dlinux -m64 CXXFLAGSNO = $(NOOPT) -W -Wall -Weffc++ -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi -m64 else CXXFLAGS = $(OPT) -W -Wall -Woverloaded-virtual -fPIC -pipe -fmessage-length=0 -Wno-long-long -ansi -Dlinux -m64 CXXFLAGSNO = $(NOOPT) -W -Wall -Weffc++ -fPIC -pipe -fmessage-length=0 -Wno-long-long -ansi -m64 endif endif endif CFLAGS = $(OPT) -Wall -Werror -fPIC -pipe -Wno-long-long -pedantic-errors -ansi -m64 FFLAGS = $(CLIBFOPT) $(FOPT) -fno-second-underscore -fPIC -fno-f2c -m64 ifeq (g95,$(F77)) FFLAGS +=-DFORTRAN_G95 else ifeq (gfortran,$(F77)) FFLAGS +=-DFORTRAN_GFORTRAN else FFLAGS += endif endif # rmkdepend flags for building dependencies of FORTRAN files DEPENDFFLAGS = $(FFLAGS) # rootcint flags CINTFLAGS = LD = g++ LDFLAGS = $(OPT) SHLD = $(LD) SOFLAGS = $(OPT) -shared -Wl SOEXT = so #System libraries LIBNOVER = `find /lib64 -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib64/ -l/'` SYSLIBS := -ldl -lcrypt -L/usr/X11R6/lib64 -lX11 $(LIBNOVER) ifeq (g95,$(F77)) SHLIB += -L$(shell g95 --print-search-dirs | sed -n -e 's/install: //p') -lf95 else ifeq (gfortran,$(F77)) SHLIB := $(shell gfortran -print-file-name=libgfortran.so) SHLIB += $(shell gfortran -print-file-name=libgfortranbegin.a) else SHLIB = -lg2c SYSLIBS += -lg2c endif endif ALLD = ar ALFLAGS = cr ALLIB = AEXT = a