ifneq ($(findstring $(DAMODULE),$(MODULES)),)
+CXXFLAGS:=$(filter-out -pedantic-errors,$(CXXFLAGS))
CXXFLAGS+=-I${ALICE_ROOT}/RAW
CXXFLAGS+=-I${ALICE_ROOT}/$(DAMODULE)
-CXXFLAGS+=$(addprefix -I,$(filter-out %tgt_${ALICE_TARGET},$(filter-out %CVS,$(patsubst %/,%,$(shell ls -d ${ALICE_ROOT}/$(DAMODULE)/*/)))))
+CXXFLAGS+=$(addprefix -I,$(filter-out %tgt_${ALICE_TARGET},$(patsubst %/,%,$(shell ls -d ${ALICE_ROOT}/$(DAMODULE)/*/))))
DATARGETDIR=${DAMODULE}/tgt_${ALICE_TARGET}
DASRC=${DAMODULE}/${DAMODULE}$(SUBDAMODULE)${DANAME}da.cxx
DALIB=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}/lib${DAMODULE}$(SUBDAMODULE)${DANAME}DA.a
DAEXE=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}/${DAMODULE}$(SUBDAMODULE)${DANAME}da.exe
-DAVERSION=$(firstword $(shell cvs status $(DASRC) | grep "Working revision:" | cut -d: -f2 ))
+DAVERSION=$(firstword $(shell svn info $(DASRC) | grep "Last Changed Rev:" | cut -d: -f2 ))
DAROOTRELEASE=$(subst /,.,$(shell root-config --version))
-DAALIROOTRELEASE=$(subst -,.,$(firstword $(shell cvs status $(DASRC) | grep "Sticky Tag:" | cut -d: -f2 )))
-ifeq ($(DAALIROOTRELEASE),(none))
-DAALIROOTRELEASE:="HEAD_"$(subst -,.,$(shell date --iso-8601))
-endif
+#DAALIROOTRELEASE=$(notdir $(subst /$(DASRC),,$(shell svn info $(DASRC) | grep "URL:" | cut -d: -f3 )))
+DAALIROOTRELEASE+=$(subst -,.,$(notdir $(subst /$(DASRC),,$(shell svn info $(DASRC) | grep "URL:" | cut -d: -f3 ))))"."$(firstword $(shell svn info $(DASRC) | grep "Revision:" | cut -d: -f2 ))
DAARCNAME=$(patsubst %-,%,daqDA-${ONLINEDETECTORNAME}-${DANAME})
DAARC=$(DAARCNAME)-$(DAVERSION)
endif
DAQDALIB=$(DAQDADIR)/libdaqDA.a
+ifneq ($(shell $(AMORE)/amore-config 2>&1 |grep -i usage),)
+AMOREFLAGS = -DALI_AMORE $(shell $(AMORE)/amore-config --cflags --includes)
+CXXFLAGS += $(AMOREFLAGS)
+CFLAGS += $(AMOREFLAGS)
+CINTFLAGS += $(AMOREFLAGS)
+DEPINC += $(AMOREFLAGS)
+AMOREDALIBS+=-static $(shell $(AMORE)/amore-config --ldflags-da-static) $(shell date-config --rcproxylibs)
+else
+AMOREDALIBS=
+endif
+
ROOTLIBDIR=$(shell root-config --libdir)
-SYSLIBS=-ldl -lpthread
+SYSLIBS=-ldl -lpthread $(shell xml2-config --libs)
MONITORLIBS=$(shell date-config --monitorlibs=noshift)
-ALIROOTALIBS=$(RAWDatabaseALIB) $(RAWDatarecALIB) $(RAWDatasimALIB) $(STEERBaseALIB) $(STEERALIB) $(CDBALIB) $(ESDALIB) $(AODALIB)
+ALIROOTALIBS=$(RAWDatabaseALIB) $(RAWDatarecALIB) $(RAWDatasimALIB) $(STEERBaseALIB) $(STEERALIB) $(CDBALIB) $(ESDALIB) $(AODALIB) $(STATALIB)
ALIROOTALIBS+=$($(DAMODULE)ALIBS)
ALIROOTALIBS+=$($(EXTRADAMODULE)ALIBS)
endif
-DACONTACT=$(sort $(shell grep -i "Contact:" $(DASRC) | cut -d':' -f2))
-DALINKPAGE=$(sort $(shell grep -i "Link:" $(DASRC) | cut -d':' -f2))
-DARUNTYPE=$(sort $(shell grep -i "Run Type:" $(DASRC) | cut -d':' -f2))
-DATYPE=$(sort $(shell grep -i "DA Type:" $(DASRC) | cut -d':' -f2))
-DANUMBEROFEVENTS=$(sort $(shell grep -i "Number of events needed:" $(DASRC) | cut -d':' -f2))
-DAINPUTFILES=$(sort $(shell grep -i "Input Files:" $(DASRC) | cut -d':' -f2))
-DAOUTPUTFILES=$(sort $(shell grep -i "Output Files:" $(DASRC) | cut -d':' -f2))
-DATRIGGERTYPE=$(sort $(shell grep -i "Trigger types used:" $(DASRC) | cut -d':' -f2))
+DACONTACT=$(shell grep -i "Contact:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
+DALINKPAGE=$(shell grep -i "Link:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
+DAREFRUN=$(shell grep -i "Reference Run:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
+DARUNTYPE=$(shell grep -i "Run Type:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
+DATYPE=$(shell grep -i "DA Type:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
+DANUMBEROFEVENTS=$(shell grep -i "Number of events needed:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
+DAINPUTFILES=$(shell grep -i "Input Files:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
+DAOUTPUTFILES=$(shell grep -i "Output Files:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
+DATRIGGERTYPE=$(shell grep -i "Trigger types used:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
$(DATARGETNAME): $(DAEXE)
-$(DAEXE): $(DAOBJ) $(LIBPATH) $(DALIB) $(DAQDALIB) $(EXTRAROOTLIB)
+$(DAEXE): $(DAOBJ) $(BINPATH) $(LIBPATH) $(DALIB) $(DAQDALIB) $(EXTRAROOTLIB)
@echo "***** Making executable $(DAEXE) *****"
$(MUTE)$(LD) $(LDFLAGS) -o $@ $< \
$(DALIB) \
$(EXTRAROOTLIB) \
$(ROOTLIBDIR)/libRoot.a \
$(ROOTLIBDIR)/libfreetype.a $(ROOTLIBDIR)/libpcre.a \
- $(DAQDALIB) $(MONITORLIBS) \
- $(SYSLIBS)
+ $(SYSLIBS) \
+ $(DAQDALIB) $(MONITORLIBS) $(AMOREDALIBS)
$(DAOBJ): $(DASRC) $(DAQDADIR) $(DADEP) $(DATARGETDIR)
@echo "***** Compiling $(DASRC) *****"
$(DATARGETDIR):
$(MUTE)if [ ! -d '$@' ]; then echo "***** Making directory $@ *****"; mkdir -p $@; fi
-$(DALIB): $(ALIROOTALIBS)
+$(DALIB): $(ARVERSIONFILE) $(ALIROOTALIBS)
@echo "***** Linking static library $(DALIB) *****"
$(MUTE)rm -rf $@
$(MUTE)rm -rf junk
- $(MUTE)mkdir junk && cd junk && $(addprefix $(AR) x ../,$(addsuffix &&,$^)) $(AR) r $@ *.o && cd .. && rm -rf junk
+ $(MUTE)mkdir junk && cd junk && $(addprefix $(AR) x ../,$(addsuffix &&,$(filter-out $(ARVERSIONFILE),$^))) $(AR) r $@ *.o && cd .. && rm -rf junk
$(EXTRAROOTLIB): $(LIBPATH)
- $(MUTE)$(AR) r $@ `ls ${ROOTSYS}/vmc/src/*.o ${ROOTSYS}/treeplayer/src/*.o`
+ $(MUTE)$(AR) r $@ `ls ${ROOTSYS}/montecarlo/vmc/src/*.o ${ROOTSYS}/tree/treeplayer/src/*.o ${ROOTSYS}/io/xmlparser/src/*.o ${ROOTSYS}/math/minuit2/src/*.o`
$(DATARGETNAME)-clean:
@echo "***** Cleaning $(DAMODULE)$(SUBDAMODULE)$(DANAME) detector-algorithm *****"
@echo "endif" >> $@
@echo "" >> $@
@echo "DAQDALIB=""$$""(DAQDADIR)/libdaqDA.a" >> $@
+ @echo "AMOREDALIBS=-static ""$$""(shell ""$$""(AMORE)/amore-config --ldflags-da-static) ""$$""(shell date-config --rcproxylibs)" >> $@
@echo "MONITORLIBS=""$$""(shell date-config --monitorlibs=noshift)" >> $@
@echo "" >> $@
@echo "${DAMODULE}${SUBDAMODULE}${DANAME}da.exe: ${DAMODULE}${SUBDAMODULE}${DANAME}da.o" >> $@
@echo " $(EXTRAROOTLIB) \\" >> $@
@echo " ""$$""(ROOTSYS)/lib/libRoot.a \\" >> $@
@echo " ""$$""(ROOTSYS)/lib/libfreetype.a ""$$""(ROOTSYS)/lib/libpcre.a \\" >> $@
- @echo " ""$$""(DAQDALIB) ""$$""(MONITORLIBS) \\" >> $@
- @echo " $(SYSLIBS)" >> $@
+ @echo " $(SYSLIBS) \\" >> $@
+ @echo " ""$$""(DAQDALIB) ""$$""(MONITORLIBS) ""$$""(AMOREDALIBS)" >> $@
@echo "" >> $@
@echo "${DAMODULE}${SUBDAMODULE}${DANAME}da.o: ${DAMODULE}${SUBDAMODULE}${DANAME}da.cxx" >> $@
@echo " ""$$""(CXX) -c ""$$""(CXXFLAGS) -I""$$""(DAQDADIR) ""$$""< -o ""$$""@" >> $@
@echo "Runtime requires: date." >> $@
@echo "Contact: $(DACONTACT)" >> $@
@echo "Link: $(DALINKPAGE)" >> $@
+ @echo "Reference Run: $(DAREFRUN)" >> $@
@echo "Run type: $(DARUNTYPE)" >> $@
@echo "DA type: $(DATYPE)" >> $@
@echo "Number of events needed: $(DANUMBEROFEVENTS)" >> $@
@echo "# Do not modify following scripts" >> $@
@echo "#################################################################" >> $@
@echo "" >> $@
+ @echo "%define debug_package %{nil}" >> $@
+ @echo "%define __os_install_post %{nil}" >> $@
+ @echo "" >> $@
@echo "# here is defined the installation root directory" >> $@
@echo "%define pkgname %{name}-%{version}" >> $@
@echo "%define destdir %{prefix}" >> $@
@echo "" >> $@
@echo "# clean RPM build files" >> $@
@echo "%clean" >> $@
- @echo "# remove source files" >> $@
- @echo "rm -rf ""$$""RPM_BUILD_DIR/%{pkgname}" >> $@
@echo "# remove installed files" >> $@
@echo "rm -rf ""$$""RPM_BUILD_ROOT" >> $@
+ @echo "# remove source files" >> $@
+ @echo "rm -rf ""$$""RPM_BUILD_DIR/%{pkgname}" >> $@
@echo "" >> $@
@echo "# pre-install script" >> $@
@echo "%pre" >> $@
@echo "# launched after rpm removed" >> $@
@echo "%postun" >> $@
-$(DATARGETNAME)-rpm: $(DATAR) $(DASPECFILE) $(DALIB) $(DADEP) $(EXTRAROOTLIB)
+$(DATARGETNAME)-rpm: $(DATAR) $(DASPECFILE) $(LIBPATH) $(DALIB) $(DADEP) $(EXTRAROOTLIB)
@echo "***** Making RPMS for $(DAMODULE)$(SUBDAMODULE)$(DANAME) detector-algorithm *****"
$(MUTE)rm -rf junk
$(MUTE)mkdir -p junk/SOURCES junk/SPECS junk/BUILD junk/RPMS junk/SRPMS