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
-
-include build/Makefile.config
-
-#-------------------------------------------------------------------------------
-# Location where to install libraries and binaries and common header files
+SMELL_DETECTOR_DIR=$(IRST_INSTALLDIR)/smell-detector
-LIBPATH := lib/tgt_$(ALICE_TARGET)
-BINPATH := bin/tgt_$(ALICE_TARGET)
-EXPORTDIR := $(ALICE_ROOT)/include
-BINLIBDIRS := -L$(ALICE_ROOT)/$(LIBPATH)
#-------------------------------------------------------------------------------
# Include machine dependent macros
ifeq ($(ALIDEBUG),YES)
override ALICE_TARGET := $(ALICE_TARGET)DEBUG
FFLAGS := -g $(filter-out -O%,$(FFLAGS))
-CXXFLAGS := -g $(filter-out -O%,$(CXXLAGS))
-CFLAGS := -g $(filter-out -O%,$(CLAGS))
+CXXFLAGS := -g $(filter-out -O%,$(CXXFLAGS))
+CFLAGS := -g $(filter-out -O%,$(CFLAGS))
SOFLAGS := -g $(filter-out -O%,$(SOFLAGS))
LDFLAGS := -g $(filter-out -O%,$(LDFLAGS))
endif
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} -I${DATE_MONITOR_DIR}
+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)
DEPINC += $(DATEFLAGS)
endif
+#-------------------------------------------------------------------------------
+# Location where to install libraries and binaries and common header files
+
+LIBPATH := lib/tgt_$(ALICE_TARGET)
+BINPATH := bin/tgt_$(ALICE_TARGET)
+EXPORTDIR := $(ALICE_ROOT)/include
+BINLIBDIRS := -L$(ALICE_ROOT)/$(LIBPATH)
+
#-------------------------------------------------------------------------------
# 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
+ ACORDE HMPID T0 STRUCT EVGEN RALICE VZERO \
+ THijing MEVSIM TMEVSIM THbtp HBTP EMCAL HBTAN \
+ THerwig TEPEMGEN EPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS \
+ JETAN HLT LHC ESDCheck
+
+ifneq ($(wildcard $(ROOTSYS)/include/TGLIncludes.h),)
+ALIROOTMODULES += EVE
+endif
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 PWG4,$(MAKECMDGOALS)),PWG4)
+ALIROOTMODULES += PWG4
+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 HIJING MICROCERN HERWIG
+
+ifneq ($(wildcard $(ROOTSYS)/include/TPythia6.h),)
+CERNMODULES += PYTHIA6
+endif
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 -lXMLIO
-LIBS := $(GLIBS) $(ROOTLIBS) $(SYSLIBS)
+ROOTPLIBS := -lEGPythia6
+
+ALILIBS := -L$(LIBDIR) -lMUON -lTPC -lPMD -lTRD -lFMD -lTOF \
+ -lITS -lPHOS -lACORDE -lHMPID -lVZERO -lZDC -lSTRUCT \
+ -lT0 -lEVGEN -lSTEER
+
+LIBS := $(ROOTCLIBS) $(ROOTPLIBS) $(SYSLIBS)
#-------------------------------------------------------------------------------
# default target
-default: aliroot
+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)
alilibs: $(LIBPATH) modules $(ALLLIBS)
endif
-aliroot: $(BINPATH) $(ALLEXECS) alilibs
+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
+
+
+include build/MakefileDA
#-------------------------------------------------------------------------------
# Single Makefile "distribution": Makefile + modules + mkdepend scripts
ifndef ALIQUIET
@echo "***** Entering DEBUG mode. *****"
endif
- @(export ALIDEBUG=YES && $(MAKE))
+ @(export ALIDEBUG=YES && $(MAKE) aliroot)
profile:
ifndef ALIQUIET
@echo "***** Entering PROFILE mode. *****"
endif
- @(export ALIPROFILE=YES && $(MAKE))
+ @(export ALIPROFILE=YES && $(MAKE) aliroot)
$(MODULES):
ifndef ALIQUIET
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: