+# -*- 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)
-ifneq (,$(findstring g95,$(ROOTBUILD)))
-F77 = g95
-else
-ifneq (,$(findstring gfortran,$(ROOTBUILD)))
-F77 = gfortran
-else
-F77 = g77
-endif
-endif
-
# Global optimisation
OPT = -O -g
NOOPT = -g
CXXFLAGS = $(OPT) -W -Wall -Weffc++ -Woverloaded-virtual -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi -Dlinux
CXXFLAGSNO = $(NOOPT) -W -Wall -Weffc++ -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi
else
+ifeq ($(CCMAJORV),4)
+CXXFLAGS = $(OPT) -W -Wall -Weffc++ -Woverloaded-virtual -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi -Dlinux
+CXXFLAGSNO = $(NOOPT) -W -Wall -Weffc++ -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi
+else
CXXFLAGS = $(OPT) -W -Wall -Woverloaded-virtual -fPIC -pipe -fmessage-length=0 -Wno-long-long -ansi -Dlinux
CXXFLAGSNO = $(NOOPT) -W -Wall -Weffc++ -fPIC -pipe -fmessage-length=0 -Wno-long-long -ansi
endif
endif
+endif
CFLAGS = $(OPT) -Wall -Werror -fPIC -pipe -Wno-long-long -pedantic-errors -ansi
-FFLAGS = $(CLIBFOPT) $(FOPT) -fno-second-underscore
+FFLAGS = $(CLIBFOPT) $(FOPT) -fPIC -fno-second-underscore
-ifneq (,$(findstring g95,$(ROOTBUILD)))
+ifneq (,$(findstring g95,$(F77)))
FFLAGS +=-DFORTRAN_G95
else
-ifneq (,$(findstring gfortran,$(ROOTBUILD)))
+ifneq (,$(findstring gfortran,$(F77)))
FFLAGS +=-DFORTRAN_GFORTRAN
else
FFLAGS +=
# rootcint flags
CINTFLAGS =
-LD = g++
+LD = $(shell root-config --ld)
LDFLAGS = $(OPT)
SHLD = $(LD)
#System libraries
SYSLIBS := -ldl -lcrypt -L/usr/X11R6/lib -lX11
-ifneq (,$(findstring g95,$(ROOTBUILD)))
-SHLIB += -L$(shell g95 --print-search-dirs | sed -n -e 's/install: //p') -lf95
+ifneq (,$(findstring g95,$(F77)))
+SHLIB += -L$(shell $(F77) --print-search-dirs | sed -n -e 's/install: //p') -lf95
else
-ifneq (,$(findstring gfortran,$(ROOTBUILD)))
-SHLIB := $(shell gfortran -print-file-name=libgfortran.so)
-SHLIB += $(shell gfortran -print-file-name=libgfortranbegin.a)
+ifneq (,$(findstring gfortran,$(F77)))
+SHLIB := $(shell $(F77) -m32 -print-file-name=libgfortran.so)
+SHLIB += $(shell $(F77) -m32 -print-file-name=libgfortranbegin.a)
+SYSLIBS += $(SHLIB)
else
SHLIB = -lg2c
SYSLIBS += -lg2c