X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=Makefile;h=33f27bbb2e5afe200d32363606b1641ff6293ecb;hb=ea7b474069195c842b2122d9aeb6e4715f4a341f;hp=ca9dd2e4bea82f2f924cb4b841f16dbc5569088b;hpb=6603b07503646ecf0cb36d450f35012cfcca2404;p=u%2Fmrichter%2FAliRoot.git diff --git a/Makefile b/Makefile index ca9dd2e4bea..33f27bbb2e5 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,13 @@ REV_ENG=$(IRST_INSTALLDIR)/scripts/revEng.sh SMELL_DETECTOR_DIR=$(IRST_INSTALLDIR)/smell-detector +#------------------------------------------------------------------------------- +# The compilers +CXX := $(shell root-config --cxx) +F77 := $(shell root-config --f77) +CC := $(shell root-config --cc) + +CXXWARN = #------------------------------------------------------------------------------- # Include machine dependent macros @@ -58,21 +65,25 @@ endif #------------------------------------------------------------------------------- # Check if DATE is installed -ifneq ($(shell date-config 2>&1 | grep -i usage),) -DATEFLAGS = -DALI_DATE $(shell date-config --cflags | tr \" \') -CXXFLAGS += $(DATEFLAGS) -CFLAGS += $(DATEFLAGS) -CINTFLAGS += $(DATEFLAGS) -DEPINC += $(DATEFLAGS) -else -DATEFLAGS = -D`uname` -DDATE_SYS=`uname` -Dlong32='int' \ +ifeq ($(shell which date-config 2>/dev/null),) +DATEFLAGS := -D$(shell uname) -DDATE_SYS=$(shell uname) -Dlong32='int' \ -Dlong64='long long' -DdatePointer='long' +DMONLIBS := +else +DATEFLAGS := -DALI_DATE $(shell date-config --cflags | tr \" \') +DMONLIBS := $(shell date-config --monitorlibs) +endif CXXFLAGS += $(DATEFLAGS) CFLAGS += $(DATEFLAGS) CINTFLAGS += $(DATEFLAGS) DEPINC += $(DATEFLAGS) -endif +#------------------------------------------------------------------------------- +# Add warning flags if any + +ifneq ($(ALICXXWARN),no) +CXXFLAGS += $(CXXWARN) +endif #------------------------------------------------------------------------------- # ROOT Stuff @@ -94,6 +105,8 @@ ROOTCLIBS := $(shell $(ROOTCONFIG) --glibs) \ -lMLP \ -lSpectrum \ -L$(ROOTPLUGDIR) +CHECKALIEN := $(shell root-config --has-alien) +CHECKXML := $(shell root-config --has-xml) #------------------------------------------------------------------------------- # Location where to install libraries and binaries and common header files @@ -112,14 +125,16 @@ endif ALIROOTMODULES := STEER PHOS TRD TPC ZDC MUON PMD FMD TOF ITS \ ACORDE HMPID T0 BCM STRUCT EVGEN RALICE VZERO \ - THijing THbtp EMCAL HBTAN \ + THijing THbtp EMCAL \ THerwig TEPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS \ JETAN HLT LHC ESDCheck STAT TTherminator CORRFW DPMJET TDPMjet \ - PWG0 PWG1 PWG2 PWG3 PWG4 + PWG0 PWG1 PWG2 PWG3 PWG4 TRIGGER -ifneq ($(shell $(ROOTCONFIG) --has-pythia8), no) +# Additional generators +ALIROOTMODULES += TUHKMgen +ALIROOTMODULES += EPOS ALIROOTMODULES += PYTHIA8 -endif +ALIROOTMODULES += TAmpt ifneq ($(shell $(ROOTCONFIG) --has-opengl), no) ALIROOTMODULES += EVE @@ -137,11 +152,7 @@ ifeq ($(findstring SHUTTLE,$(MAKECMDGOALS)),SHUTTLE) ALIROOTMODULES += SHUTTLE endif -ifeq ($(findstring Flugg,$(MAKECMDGOALS)),Flugg) -ALIROOTMODULES += Flugg -endif - -CERNMODULES := LHAPDF HIJING MICROCERN HERWIG +CERNMODULES := LHAPDF HIJING MICROCERN HERWIG ifneq ($(wildcard $(ROOTINCDIR)/TPythia6.h),) CERNMODULES += PYTHIA6 endif @@ -154,10 +165,16 @@ MODDIRS := $(MODULES) # Default include dirs for C++, Fortran, Cint, and dependencies # The module directory will be added by each module -GENINC := -I$(ALICE_ROOT)/include -I$(shell root-config --incdir) -CXXFLAGS += $(GENINC) -CXXFLAGSNO += $(GENINC) -CINTFLAGS += $(GENINC) +GENINC := -I$(ALICE_ROOT)/include -isystem$(shell root-config --incdir) +RCFLAGS := $(shell root-config --auxcflags) +RLFLAGS := $(shell root-config --ldflags) +CXXFLAGS += $(GENINC) $(RCFLAGS) +CXXFLAGSNO += $(GENINC) $(RCFLAGS) -Wno-write-strings +CFLAGS += $(GENINC) $(RCFLAGS) +CINTFLAGS += $(GENINC) $(RCFLAGS) +FFLAGS += $(RCFLAGS) +LDFLAGS += $(RLFLAGS) +SOFLAGS += $(RLFLAGS) DEPINC += $(GENINC) #------------------------------------------------------------------------------- @@ -167,15 +184,14 @@ DEPINC += $(GENINC) ALILIBS := -L$(LIBDIR) -lMUON -lTPC -lPMD -lTRD -lFMD -lTOF \ -lITS -lPHOS -lACORDE -lHMPID -lVZERO -lZDC -lSTRUCT \ - -lT0 -lEVGEN -lSTEER + -lT0 -lEVGEN -lSTEER -lTRIGGER LIBS := $(ROOTCLIBS) $(ROOTPLIBS) $(SYSLIBS) ARVERSIONFILE := $(EXPORTDIR)/ARVersion.h -SVNREV := $(strip $(shell svn info | grep "Last Changed Rev:" | \ +SVNREV := $(strip $(shell LANG=C LANGUAGE=C svn info | grep "Last Changed Rev:" | \ cut -d: -f2 )) -SVNBRANCH := w$(subst //alisoft.cern.ch/AliRoot/,,\ - $(shell svn info | grep "URL:" | cut -d: -f3 )) +SVNBRANCH := $(subst //alisoft.cern.ch/AliRoot/,,$(shell svn info | grep "URL:" | cut -d: -f3 )) #------------------------------------------------------------------------------- # default target @@ -183,12 +199,10 @@ SVNBRANCH := w$(subst //alisoft.cern.ch/AliRoot/,,\ default: $(ARVERSIONFILE) $(MUTE)$(MAKE) aliroot -FORCE: - #------------------------------------------------------------------------------- # Write header file with aliroot svn version and url -$(ARVERSIONFILE): FORCE $(EXPORTDIR) +$(ARVERSIONFILE): $(ALICE_ROOT)/.svn/entries $(EXPORTDIR) $(MUTE)rm -f $(ARVERSIONFILE) @echo "***** Making $(ARVERSIONFILE) *****" @echo "#ifndef ALIROOT_ARVersion" >> $@ @@ -282,7 +296,7 @@ ALIRECO.par: macros/loadlibsrec.C STEER/PROOF-INF.ALIRECO/SETUP.C (tar cfzh $@ ALIRECO 2> /dev/null && echo "Package archive" $@ "created in" $(PWD)/$@) || (tar cfzh /tmp/$@ ALIRECO 2> /dev/null && echo "Package archive" $@ "created in /tmp/"$@) $(MUTE)rm -rf ALIRECO -ROOTALIBDIR=$(shell root-config --libdir) +ROOTALIBDIR:=$(shell root-config --libdir) ALIMDCSPECFILE=$(RAWDIRO)/alimdc.spec ALIMDCVERSION=$(subst -,.,$(notdir $(subst /RAW/mdc.h,,$(shell svn info RAW/mdc.h | grep "URL:" | cut -d: -f3 )))) @@ -368,7 +382,7 @@ alimdc-static: $(LIBPATH) $(BINPATH) $(RAWDatabaseALIB) $(MDCALIB) $(ESDALIB) $( $(LIBPATH)/libAliMDC.a \ $(ROOTALIBDIR)/libRoot.a \ $(ROOTALIBDIR)/libfreetype.a $(ROOTALIBDIR)/libpcre.a \ - -pthread -ldl + -pthread -ldl -lcurses alilibs-static: $(LIBPATH) modules $(ALLALIBS)