X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=build%2FMakefile.linuxx8664gcc;h=5f1ec7732e07e6137df2decbc28c8f6ec7c61273;hb=2cc9dfdec19b37a7d5a2ad6585e6a1412eb6f18d;hp=1a75a76cbb35698b99784552daf9700aeef69b57;hpb=de6c7cfd940619c58810e1c9fe0065858662bbc7;p=u%2Fmrichter%2FAliRoot.git diff --git a/build/Makefile.linuxx8664gcc b/build/Makefile.linuxx8664gcc index 1a75a76cbb3..5f1ec7732e0 100644 --- a/build/Makefile.linuxx8664gcc +++ b/build/Makefile.linuxx8664gcc @@ -1,12 +1,15 @@ -# Makefile for AliRoot for Itanium/Linux with gcc +# -*- mode: makefile -*- +# Makefile to build AliRoot for Linux -# The compilers -CXX = g++ -F77 = g77 -CC = gcc +# System dependent commands + +XARGS = xargs -r + +CCMAJORV = $(shell $(CC) -dumpversion | cut -d. -f1) +CCMINORV = $(shell $(CC) -dumpversion | cut -d. -f2) # Global optimisation -OPT = -g #-O +OPT = -O2 -g NOOPT = -g CXXOPT = $(OPT) @@ -20,37 +23,78 @@ CLIBCXXOPTS = CLIBCOPT = CLIBFOPT = $(CLIBDEFS) +CXXWARN = -Wall -Wno-long-long -W -Weffc++ -Wshadow -Woverloaded-virtual -ansi + # Compiler flags -CXXFLAGS = $(CXXOPT) -Wall -fPIC -pipe -CXXFLAGSNO = $(CXXNOOPT) -Wall -fPIC -pipe -CFLAGS = -Wall -fPIC -pipe -FFLAGS = $(CLIBFOPT) $(FOPT) -fno-second-underscore -fPIC +ifeq ($(CCMAJORV),2) +CXXFLAGS = $(OPT) -fPIC -pipe +CXXFLAGSNO = $(NOOPT) -fPIC -pipe +else +ifeq ($(CCMAJORV),3) +CXXFLAGS = $(OPT) -fPIC -pipe -fmessage-length=0 -Dlinux +CXXFLAGSNO = $(NOOPT) -fPIC -pipe -fmessage-length=0 +else +ifeq ($(CCMAJORV),4) +CXXFLAGS = $(OPT) -fPIC -pipe -fmessage-length=0 -Dlinux +CXXFLAGSNO = $(NOOPT) -fPIC -pipe -fmessage-length=0 +else +CXXFLAGS = $(OPT) -fPIC -pipe -fmessage-length=0 -Dlinux +CXXFLAGSNO = $(NOOPT) -fPIC -pipe -fmessage-length=0 +endif +endif +endif +CFLAGS = $(OPT) -Wall -Werror -fPIC -pipe -Wno-long-long -pedantic-errors -ansi +FFLAGS = $(CLIBFOPT) $(FOPT) -fno-second-underscore -fPIC -fno-f2c + +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) +DEPENDFFLAGS = $(FFLAGS) # rootcint flags CINTFLAGS = -LD = g++ -LDFLAGS = $(OPT) -Wl,-Map -Wl,$@.map +LD = $(shell root-config --ld) +LDFLAGS = $(OPT) -SHLD = $(LD) -SOFLAGS = -shared -Wl #-O2 +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) + +ifneq (,$(findstring g95,$(F77))) +SHLIB += -L$(shell $(F77) --print-search-dirs | sed -n -e 's/install: //p') -lf95 +else +ifneq (,$(findstring gfortran,$(F77))) +SHLIB := $(shell $(F77) -print-file-name=libgfortran.so) +SHLIB += $(shell $(F77) -print-file-name=libgfortranbegin.a) +else +SHLIB = -lg2c +SYSLIBS += -lg2c +endif +endif + ALLD = ar ALFLAGS = cr ALLIB = AEXT = a -# additional ROOT libraries -LIBNOVER = `find /lib64 -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib64/ -l/'` -#System libraries -SYSLIBS := -ldl -lcrypt -L/usr/X11R6/lib64 -lX11 $(LIBNOVER) -EXEFLAGS := -lg2c +