MUTE:=@
endif
-CLEAN=$(findstring clean,$(patsubst %clean%,clean,$(MAKECMDGOALS)))
+CLEAN=$(findstring clean,$(MAKECMDGOALS))
#-------------------------------------------------------------------------------
# IRST coding rule check
CODE_CHECK=java rules.ALICE.ALICERuleChecker
REV_ENG=$(IRST_INSTALLDIR)/scripts/revEng.sh
-#-------------------------------------------------------------------------------
-# Include library definition
+SMELL_DETECTOR_DIR=$(IRST_INSTALLDIR)/smell-detector
-include build/Makefile.config
#-------------------------------------------------------------------------------
# Include machine dependent macros
ifdef DATE_ROOT
DATEFLAGS = -DALI_DATE -D${DATE_SYS} -DDATE_SYS=${DATE_SYS} -Dlong32=${DATE_LONG32} \
- -Dlong64=${DATE_LONG64} -DdatePointer=${DATE_POINTER}
+ -Dlong64='${DATE_LONG64}' -DdatePointer=${DATE_POINTER} -I${DATE_COMMON_DEFS}
+CXXFLAGS += $(DATEFLAGS)
+CFLAGS += $(DATEFLAGS)
+CINTFLAGS += $(DATEFLAGS)
+DEPINC += $(DATEFLAGS)
+else
+DATEFLAGS = -D`uname` -DDATE_SYS=`uname` -Dlong32='int' \
+ -Dlong64='long long' -DdatePointer='long'
CXXFLAGS += $(DATEFLAGS)
CFLAGS += $(DATEFLAGS)
CINTFLAGS += $(DATEFLAGS)
#-------------------------------------------------------------------------------
# Modules to build
-ifdef ALIVERBOSE
+ifeq (ALIVERBOSE,2)
$(warning MAKECMDGOALS=$(MAKECMDGOALS))
endif
ALIROOTMODULES := STEER PHOS TRD TPC ZDC MUON PMD FMD TOF ITS \
- CRT RICH START STRUCT EVGEN RALICE ALIFAST VZERO \
- THijing CONTAINERS MEVSIM TMEVSIM THbtp HBTP EMCAL HBTAN \
- THerwig TEPEMGEN EPEMGEN FASTSIM TPHIC RAW MONITOR DISPLAY ANALYSIS \
- JETAN HLT
+ CRT RICH START STRUCT EVGEN RALICE VZERO \
+ THijing MEVSIM TMEVSIM THbtp HBTP EMCAL HBTAN \
+ THerwig TEPEMGEN EPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS \
+ JETAN HLT LHC EVE
ifeq ($(findstring TFluka,$(MAKECMDGOALS)),TFluka)
ALIROOTMODULES += TFluka
endif
+ifeq ($(findstring PWG0,$(MAKECMDGOALS)),PWG0)
+ALIROOTMODULES += PWG0
+endif
+
+ifeq ($(findstring PWG2,$(MAKECMDGOALS)),PWG2)
+ALIROOTMODULES += PWG2
+endif
+
+ifeq ($(findstring PWG3,$(MAKECMDGOALS)),PWG3)
+ALIROOTMODULES += PWG3
+endif
+
+ifeq ($(findstring SHUTTLE,$(MAKECMDGOALS)),SHUTTLE)
+ALIROOTMODULES += SHUTTLE
+endif
+
ifeq ($(findstring Flugg,$(MAKECMDGOALS)),Flugg)
ALIROOTMODULES += Flugg
endif
-CERNMODULES := PDF PYTHIA6 HIJING MICROCERN HERWIG
+CERNMODULES := LHAPDF PYTHIA6 HIJING MICROCERN HERWIG
MODULES := $(ALIROOTMODULES) $(CERNMODULES) ALIROOT
#-------------------------------------------------------------------------------
# Libraries to link binaries against
# Libraries will be linked against SHLIB
+# ROOT libraries
+
+ROOTCLIBS := $(shell root-config --glibs) -lThread -lMinuit -lHtml -lVMC -lEG -lGeom -lTreePlayer
+
+ROOTPLIBS := -lEGPythia6
-LIBS := $(GLIBS) $(ROOTLIBS) $(SYSLIBS)
+ALILIBS := -L$(LIBDIR) -lMUON -lTPC -lPMD -lTRD -lFMD -lTOF \
+ -lITS -lPHOS -lCRT -lRICH -lVZERO -lZDC -lSTRUCT \
+ -lSTART -lEVGEN -lSTEER
+
+LIBS := $(ROOTCLIBS) $(ROOTPLIBS) $(SYSLIBS)
#-------------------------------------------------------------------------------
# default target
default:
$(MUTE)$(MAKE) aliroot
+FORCE:
+
#-------------------------------------------------------------------------------
# Each module will add to these macros
EXPORTFILES :=
#-------------------------------------------------------------------------------
-# Dependencies of module.mk files
+# Dependencies of module.mk files if not cleaning
+ifeq ($(CLEAN),)
include build/module.dep
+endif
#-------------------------------------------------------------------------------
# Check if module.mk is present for the library
ifneq ($(MAKECMDGOALS),depend)
ifneq ($(MAKECMDGOALS),)
-ifdef ALIVERBOSE
+ifeq (ALIVERBOSE,2)
$(warning INCLUDEFILES=$(INCLUDEFILES))
endif
-include $(INCLUDEFILES)
aliroot: alilibs $(BINPATH) $(ALLEXECS)
+alimdc-static: $(LIBPATH) $(RAWDatabaseALIB) $(MDCALIB) $(ESDALIB)
+ $(MUTE)rm -rf $(LIBPATH)/libAliMDC.a
+ $(MUTE)rm -rf junk
+ mkdir junk && cd junk && ar x ../$(RAWDatabaseALIB) && ar x ../$(MDCALIB) && ar x ../$(ESDALIB) && ar r ../$(LIBPATH)/libAliMDC.a *.o && cd .. && rm -rf junk
+
#-------------------------------------------------------------------------------
# Single Makefile "distribution": Makefile + modules + mkdepend scripts
makedistr: $(MODULES)
CHECKMODULES := $(filter-out MEVSIM,$(CHECKMODULES))
CHECKMODULES := $(filter-out EPEMGEN,$(CHECKMODULES))
CHECKMODULES := $(filter-out TPHIC,$(CHECKMODULES))
-CHECKMODULES := $(filter-out PDF,$(CHECKMODULES))
+CHECKMODULES := $(filter-out LHAPDF,$(CHECKMODULES))
CHECKMODULES := $(filter-out MICROCERN,$(CHECKMODULES))
check-all: $(patsubst %,%/module.mk,$(CHECKMODULES)) $(patsubst %,check-%,$(CHECKMODULES))
+smell-all: $(patsubst %,%/module.mk,$(CHECKMODULES)) $(patsubst %,smell-%,$(CHECKMODULES))
+
reveng-all: $(patsubst %,%/module.mk,$(CHECKMODULES)) $(patsubst %,reveng-%,$(CHECKMODULES))
revdisp-all: $(patsubst %,%/module.mk,$(CHECKMODULES)) $(patsubst %,revdisp-%,$(CHECKMODULES))
+smell-all: $(patsubst %,%/module.mk,$(CHECKMODULES)) $(patsubst %,smell-%,$(CHECKMODULES))
+
clean-dicts:
ifndef ALIQUIET
@echo "***** Cleaning up G__ files *****"
clean-check-all: $(patsubst %,%/module.mk,$(CHECKMODULES)) $(patsubst %,clean-check-%,$(CHECKMODULES))
+clean-smell-all: $(patsubst %,%/module.mk,$(CHECKMODULES)) $(patsubst %,clean-smell-%,$(CHECKMODULES))
+
clean-reveng-all: $(patsubst %,%/module.mk,$(CHECKMODULES)) $(patsubst %,clean-reveng-%,$(CHECKMODULES))
htmldoc: