]> git.uio.no Git - u/mrichter/AliRoot.git/blob - build/MakefileDA
Implemented ZDC time cut in phsyics selection and in trigger analysis for MC. Trackle...
[u/mrichter/AliRoot.git] / build / MakefileDA
1 #-*- Mode: Makefile -*-
2
3 ONLINEDETECTORNAME:=$(firstword $(subst -, ,$(subst -clean,,$(subst -rpm,,$(subst daqDA-,,$(filter daqDA-% daqDA-%-rpm daqDA-%-clean,$(MAKECMDGOALS)))))))
4 DAMODULE:=$(subst SPD,ITS,$(subst SDD,ITS,$(subst SSD,ITS,$(subst HMP,HMPID,$(subst PHS,PHOS,$(subst CPV,PHOS,$(subst MCH,MUON,$(subst MTR,MUON,$(subst T00,T0,$(subst V00,VZERO,$(subst ACO,ACORDE,$(subst EMC,EMCAL,$(ONLINEDETECTORNAME)))))))))))))
5
6 ifeq ($(ONLINEDETECTORNAME),SPD)
7 SUBDAMODULE:=SPD
8 else
9 ifeq ($(ONLINEDETECTORNAME),SDD)
10 SUBDAMODULE:=SDD
11 else
12 ifeq ($(ONLINEDETECTORNAME),SSD)
13 SUBDAMODULE:=SSD
14 else
15 ifeq ($(ONLINEDETECTORNAME),CPV)
16 SUBDAMODULE:=CPV
17 else
18 ifeq ($(ONLINEDETECTORNAME),MCH)
19 SUBDAMODULE:=TRK
20 else
21 ifeq ($(ONLINEDETECTORNAME),MTR)
22 SUBDAMODULE:=TRG
23 endif
24 endif
25 endif
26 endif
27 endif
28 endif
29
30 DANAME=$(word 2,$(subst -, ,$(subst -clean,,$(subst -rpm,,$(subst daqDA-,,$(filter daqDA-% daqDA-%-rpm daqDA-%-clean,$(MAKECMDGOALS)))))))
31
32 ifneq ($(DANAME),)
33
34 DATARGETNAME:=daqDA-$(ONLINEDETECTORNAME)-$(DANAME)
35
36 ifeq ($(DANAME),NONAME)
37 DANAME:=
38 endif
39
40 ifneq ($(findstring $(DAMODULE),$(MODULES)),)
41
42 CXXFLAGS:=$(filter-out -pedantic-errors,$(CXXFLAGS))
43 CXXFLAGS+=-I${ALICE_ROOT}/RAW
44 CXXFLAGS+=-I${ALICE_ROOT}/$(DAMODULE)
45 CXXFLAGS+=$(addprefix -I,$(filter-out %tgt_${ALICE_TARGET},$(patsubst %/,%,$(shell ls -d ${ALICE_ROOT}/$(DAMODULE)/*/))))
46
47 DATARGETDIR=${DAMODULE}/tgt_${ALICE_TARGET}
48 DASRC=${DAMODULE}/${DAMODULE}$(SUBDAMODULE)${DANAME}da.cxx
49 DAOBJ=${DATARGETDIR}/${DAMODULE}$(SUBDAMODULE)${DANAME}da.o
50 DADEP=${DATARGETDIR}/${DAMODULE}$(SUBDAMODULE)${DANAME}da.d
51 DALIB=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}/lib${DAMODULE}$(SUBDAMODULE)${DANAME}DA.a
52 DAEXE=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}/${DAMODULE}$(SUBDAMODULE)${DANAME}da.exe
53
54 DAVERSION=$(firstword $(shell svn info $(DASRC) | grep "Last Changed Rev:" | cut -d: -f2 ))
55
56 DAROOTRELEASE=$(subst /,.,$(shell root-config --version))
57
58 #DAALIROOTRELEASE=$(notdir $(subst /$(DASRC),,$(shell svn info $(DASRC) | grep "URL:" | cut -d: -f3 )))
59 DAALIROOTRELEASE+=$(subst -,.,$(notdir $(subst /$(DASRC),,$(shell svn info $(DASRC) | grep "URL:" | cut -d: -f3 ))))"."$(firstword $(shell svn info $(DASRC) | grep "Revision:" | cut -d: -f2 ))
60
61 DAARCNAME=$(patsubst %-,%,daqDA-${ONLINEDETECTORNAME}-${DANAME})
62 DAARC=$(DAARCNAME)-$(DAVERSION)
63 DATAR=${DATARGETDIR}/$(DAARC).src.tar.gz
64 DASPECFILE=${DATARGETDIR}/$(DAMODULE)$(SUBDAMODULE)$(DANAME)da.spec
65 DAMAKEFILE=${DATARGETDIR}/${DAMODULE}$(SUBDAMODULE)${DANAME}da.make
66
67 ifeq ($(DAQDALIB_PATH),)
68 DAQDADIR=${ALICE}/daqDAlib
69 else
70 DAQDADIR=${DAQDALIB_PATH}
71 endif
72 DAQDALIB=$(DAQDADIR)/libdaqDA.a
73
74 ifneq ($(shell $(AMORE)/amore-config 2>&1 |grep -i usage),)
75 AMOREFLAGS = -DALI_AMORE $(shell $(AMORE)/amore-config --cflags --includes)
76 CXXFLAGS  += $(AMOREFLAGS)
77 CFLAGS    += $(AMOREFLAGS)
78 CINTFLAGS += $(AMOREFLAGS)
79 DEPINC    += $(AMOREFLAGS)
80 AMOREDALIBS+=-static $(shell $(AMORE)/amore-config --ldflags-da-static) $(shell date-config --rcproxylibs)
81 else
82 AMOREDALIBS=
83 endif
84
85 ROOTLIBDIR=$(shell root-config --libdir)
86
87 SYSLIBS=-ldl -lpthread $(shell xml2-config --libs)
88
89 MONITORLIBS=$(shell date-config --monitorlibs=noshift)
90
91 ALIROOTALIBS=$(RAWDatabaseALIB) $(RAWDatarecALIB) $(RAWDatasimALIB) $(STEERBaseALIB) $(STEERALIB) $(CDBALIB) $(ESDALIB) $(AODALIB) $(STATALIB)
92
93 ALIROOTALIBS+=$($(DAMODULE)ALIBS)
94
95 EXTRAROOTLIB=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}/libRootExtra.a
96
97 EXTRADAMODULE:=$(firstword $(subst /,,$(subst $(ALICE_ROOT),,$(filter-out $(ALICE_ROOT)/STEER/ $(ALICE_ROOT)/RAW/ $(ALICE_ROOT)/$(DAMODULE)% $(ALICE_ROOT)/include/,$(sort $(dir $(filter $(ALICE_ROOT)%,$(filter-out %.o:,$(filter-out %.cxx,$(filter-out \,$(shell if [ -f "${DADEP}" ]; then cat $(DADEP); fi)))))))))))
98
99 ifneq ($(EXTRADAMODULE),)
100 CXXFLAGS+=-I${ALICE_ROOT}/$(EXTRADAMODULE)
101 CXXFLAGS+=$(addprefix -I,$(filter-out %tgt_${ALICE_TARGET},$(filter-out %CVS,$(patsubst %/,%,$(shell ls -d ${ALICE_ROOT}/$(EXTRADAMODULE)/*/)))))
102 ALIROOTALIBS+=$($(EXTRADAMODULE)ALIBS)
103 endif
104
105 DACONTACT=$(shell grep -i "Contact:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
106 DALINKPAGE=$(shell grep -i "Link:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
107 DAREFRUN=$(shell grep -i "Reference Run:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
108 DARUNTYPE=$(shell grep -i "Run Type:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
109 DATYPE=$(shell grep -i "DA Type:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
110 DANUMBEROFEVENTS=$(shell grep -i "Number of events needed:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
111 DAINPUTFILES=$(shell grep -i "Input Files:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
112 DAOUTPUTFILES=$(shell grep -i "Output Files:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
113 DATRIGGERTYPE=$(shell grep -i "Trigger types used:" $(DASRC) | sed -e "s/[^:]*:\s*//" | head -n 1)
114
115 $(DATARGETNAME): $(DAEXE)
116
117 $(DAEXE): $(DAOBJ) $(BINPATH) $(LIBPATH) $(DALIB) $(DAQDALIB) $(EXTRAROOTLIB)
118         @echo "***** Making executable $(DAEXE) *****"
119         $(MUTE)$(LD) $(LDFLAGS) -o $@ $< \
120         $(DALIB) \
121         $(EXTRAROOTLIB) \
122         $(ROOTLIBDIR)/libRoot.a \
123         $(ROOTLIBDIR)/libfreetype.a $(ROOTLIBDIR)/libpcre.a \
124         $(SYSLIBS) \
125         $(DAQDALIB) $(MONITORLIBS) $(AMOREDALIBS)
126
127 $(DAOBJ): $(DASRC) $(DAQDADIR) $(DADEP) $(DATARGETDIR)
128         @echo "***** Compiling $(DASRC) *****"
129         $(MUTE)$(CXX) -c $(CXXFLAGS) -I$(DAQDADIR) $< -o $@
130
131 $(DADEP): $(DASRC) $(DAQDADIR) $(DATARGETDIR)
132         @echo "***** Making detector-algorithm dependencies $(DADEP) *****"
133         $(MUTE)$(CPP) -MM $(CXXFLAGS) $(addprefix -I$(ALICE_ROOT)/,$(MODULES)) -I$(DAQDADIR) $< > $@
134
135 -include $(DADEP)
136
137 $(DATARGETDIR):
138         $(MUTE)if [ ! -d '$@' ]; then echo "***** Making directory $@ *****"; mkdir -p $@; fi
139
140 $(DALIB): $(ARVERSIONFILE) $(ALIROOTALIBS)
141         @echo "***** Linking static library $(DALIB) *****"
142         $(MUTE)rm -rf $@
143         $(MUTE)rm -rf junk
144         $(MUTE)mkdir junk && cd junk && $(addprefix $(AR) x ../,$(addsuffix &&,$(filter-out $(ARVERSIONFILE),$^))) $(AR) r $@ *.o && cd .. && rm -rf junk
145
146 $(EXTRAROOTLIB): $(LIBPATH) 
147         $(MUTE)$(AR) r $@ `ls ${ROOTSYS}/montecarlo/vmc/src/*.o ${ROOTSYS}/tree/treeplayer/src/*.o ${ROOTSYS}/io/xmlparser/src/*.o ${ROOTSYS}/math/minuit2/src/*.o`
148
149 $(DATARGETNAME)-clean:
150         @echo "***** Cleaning $(DAMODULE)$(SUBDAMODULE)$(DANAME) detector-algorithm *****"
151         $(MUTE)rm -f $(DASPECFILE)
152         $(MUTE)rm -f $(DATAR)
153         $(MUTE)rm -f $(DAEXE)
154         $(MUTE)rm -f $(DAOBJ)
155         $(MUTE)rm -f $(DADEP)
156         $(MUTE)rm -f $(DAMAKEFILE)
157         $(MUTE)rm -f $(DALIB)
158         $(MUTE)rm -f $(ALIROOTALIBS)
159         $(MUTE)rm -f $(EXTRAROOTLIB)
160
161 $(DAMAKEFILE): $(DATARGETDIR)
162         $(MUTE)rm -f $(DAMAKEFILE)
163         @echo "***** Making makefile $(DAMAKEFILE) *****"
164         @echo "####################################################" >> $@
165         @echo "# Makefile for Detector Algorithm" >> $@
166         @echo "#" >> $@
167         @echo "# It is necessary to setup build environment before" >> $@
168         @echo "# using make:" >> $@
169         @echo "# - define path to daqDAlib (env. DAQDALIB_PATH)" >> $@
170         @echo "#" >> $@
171         @echo "####################################################" >> $@
172         @echo "" >> $@
173         @echo "CXX=$(CXX)" >> $@
174         @echo "LD=$(LD)" >> $@
175         @echo "" >> $@
176         @echo "CXXFLAGS=$(CXXFLAGS)" >> $@
177         @echo "LDFLAGS=$(LDFLAGS)" >> $@
178         @echo "" >> $@
179         @echo "ifeq (""$$""(DAQDALIB_PATH),)" >> $@
180         @echo "DAQDADIR=${ALICE}/daqDAlib" >> $@
181         @echo "else" >> $@
182         @echo "DAQDADIR=""$$""(DAQDALIB_PATH)" >> $@
183         @echo "endif" >> $@
184         @echo "" >> $@
185         @echo "DAQDALIB=""$$""(DAQDADIR)/libdaqDA.a" >> $@
186         @echo "AMOREDALIBS=-static ""$$""(shell ""$$""(AMORE)/amore-config --ldflags-da-static) ""$$""(shell date-config --rcproxylibs)" >> $@
187         @echo "MONITORLIBS=""$$""(shell date-config --monitorlibs=noshift)" >> $@
188         @echo "" >> $@
189         @echo "${DAMODULE}${SUBDAMODULE}${DANAME}da.exe: ${DAMODULE}${SUBDAMODULE}${DANAME}da.o" >> $@
190         @echo "         ""$$""(LD) ""$$""(LDFLAGS) -o ""$$""@ ""$$""< \\" >> $@
191         @echo "         $(DALIB) \\" >> $@
192         @echo "         $(EXTRAROOTLIB) \\" >> $@
193         @echo "         ""$$""(ROOTSYS)/lib/libRoot.a \\" >> $@
194         @echo "         ""$$""(ROOTSYS)/lib/libfreetype.a ""$$""(ROOTSYS)/lib/libpcre.a \\" >> $@
195         @echo "         $(SYSLIBS) \\" >> $@
196         @echo "         ""$$""(DAQDALIB) ""$$""(MONITORLIBS) ""$$""(AMOREDALIBS)" >> $@
197         @echo "" >> $@
198         @echo "${DAMODULE}${SUBDAMODULE}${DANAME}da.o: ${DAMODULE}${SUBDAMODULE}${DANAME}da.cxx" >> $@
199         @echo "         ""$$""(CXX) -c ""$$""(CXXFLAGS) -I""$$""(DAQDADIR) ""$$""< -o ""$$""@" >> $@
200         @echo "" >> $@
201         @echo "clean:" >> $@
202         @echo "         @rm -f ${DAMODULE}${SUBDAMODULE}${DANAME}da.exe ${DAMODULE}${SUBDAMODULE}${DANAME}da.o" >> $@
203         @echo "" >> $@
204         @echo "install: ${DAMODULE}${SUBDAMODULE}${DANAME}da.exe" >> $@
205         @echo "         @if [ '""$$""(INSTALL_PATH)' == '' ]; then \\" >> $@
206         @echo "         echo Environment variable INSTALL_PATH undefined, cannot continue; \\" >> $@
207         @echo "         exit 1; \\" >> $@
208         @echo "         fi" >> $@
209         @echo "         @cp -p ${DAMODULE}${SUBDAMODULE}${DANAME}da.exe ""$$""(INSTALL_PATH)" >> $@
210
211 $(DATAR): $(DASRC) $(DAMAKEFILE) $(DASPECFILE)
212         @echo "***** Making archive $(DATAR) *****"
213         $(MUTE)rm -rf $(DATAR)
214         $(MUTE)rm -rf junk
215         $(MUTE)mkdir junk && mkdir junk/$(DAARC) && \
216         cp -a $(DASRC) junk/$(DAARC) && \
217         cp -a $(DAMAKEFILE) junk/$(DAARC)/Makefile && \
218         cp -a $(DASPECFILE) junk/$(DAARC)/$(DAMODULE)${SUBDAMODULE}$(DANAME)da.spec && \
219         cd junk && \
220         tar czf ../$(DATAR) * && \
221         cd .. && rm -rf junk
222
223 $(DASPECFILE): $(DATARGETDIR)
224         $(MUTE)rm -f $(DASPECFILE)
225         @echo "***** Making RPM spec-file $(DASPECFILE) *****"
226         @echo "# RPM specfile for $(DAMODULE)${SUBDAMODULE}$(DANAME) Detector Algorithm" >> $@
227         @echo "Summary: $(ONLINEDETECTORNAME) Detector Algorithm" >> $@
228         @echo "Name: $(DAARCNAME)" >> $@
229         @echo "Version: $(DAVERSION)" >> $@
230         @echo "Release: $(DAALIROOTRELEASE)" >> $@
231         @echo "Copyright: CERN Alice DAQ/Offine" >> $@
232         @echo "Source: %{name}-%{version}.src.tar.gz" >> $@
233         @echo "Group: Applications/Alice" >> $@
234         @echo "Prefix: /opt/%{name}" >> $@
235         @echo "BuildRoot: %{_tmppath}/%{name}-root" >> $@
236         @echo "" >> $@
237         @echo "# automatic dependencies" >> $@
238         @echo "AutoReqProv: yes" >> $@
239         @echo "" >> $@
240         @echo "# list here required RPM packages for compilation" >> $@
241         @echo "BuildRequires: date" >> $@
242         @echo "" >> $@
243         @echo "# list here required RPM packages for runtime" >> $@
244         @echo "Requires: date" >> $@
245         @echo "" >> $@
246         @echo "# You can specify other dependencies in the description tag below." >> $@
247         @echo "" >> $@
248         @echo "# description of the package" >> $@
249         @echo "%description" >> $@
250         @echo "This is the $(ONLINEDETECTORNAME) $(DANAME) DA for online calibration." >> $@
251         @echo "It uses data from $(DAMODULE) and $(EXTRADAMODULE) detectors at run time." >> $@
252         @echo "Build requires: daqDAlib, date, AliRoot $(DAALIROOTRELEASE), ROOT $(DAROOTRELEASE)." >> $@
253         @echo "Runtime requires: date." >> $@
254         @echo "Contact: $(DACONTACT)" >> $@
255         @echo "Link: $(DALINKPAGE)" >> $@
256         @echo "Reference Run: $(DAREFRUN)" >> $@
257         @echo "Run type: $(DARUNTYPE)" >> $@
258         @echo "DA type: $(DATYPE)" >> $@
259         @echo "Number of events needed: $(DANUMBEROFEVENTS)" >> $@
260         @echo "Input files: $(DAINPUTFILES)" >> $@
261         @echo "Output files: $(DAOUTPUTFILES)" >> $@
262         @echo "Trigger types used: $(DATRIGGERTYPE)" >> $@
263         @echo "" >> $@
264         @echo "#################################################################" >> $@
265         @echo "# Do not modify following scripts" >> $@
266         @echo "#################################################################" >> $@
267         @echo "" >> $@
268         @echo "%define debug_package %{nil}" >> $@
269         @echo "%define __os_install_post %{nil}" >> $@
270         @echo "" >> $@
271         @echo "# here is defined the installation root directory" >> $@
272         @echo "%define pkgname %{name}-%{version}" >> $@
273         @echo "%define destdir %{prefix}" >> $@
274         @echo "" >> $@
275         @echo "# pre-compilation script: extract from tarball" >> $@
276         @echo "%prep" >> $@
277         @echo "# extract archive" >> $@
278         @echo "%setup -n %{pkgname}" >> $@
279         @echo "" >> $@
280         @echo "# compile" >> $@
281         @echo "%build" >> $@
282         @echo "export DATE_SITE=" >> $@
283         @echo ". /date/setup.sh" >> $@
284         @echo "gmake" >> $@
285         @echo "" >> $@
286         @echo "# install runtime files" >> $@
287         @echo "%install" >> $@
288         @echo "#remove install dir if existing" >> $@
289         @echo "[ -d ""$$""RPM_BUILD_ROOT ] && rm -rf ""$$""RPM_BUILD_ROOT" >> $@
290         @echo "#make install in install root directory" >> $@
291         @echo "mkdir -p ""$$""RPM_BUILD_ROOT/%{prefix}" >> $@
292         @echo "make install INSTALL_PATH=""$$""RPM_BUILD_ROOT/%{prefix}" >> $@
293         @echo "" >> $@
294         @echo "# clean RPM build files" >> $@
295         @echo "%clean" >> $@
296         @echo "# remove installed files" >> $@
297         @echo "rm -rf ""$$""RPM_BUILD_ROOT" >> $@
298         @echo "# remove source files" >> $@
299         @echo "rm -rf ""$$""RPM_BUILD_DIR/%{pkgname}" >> $@
300         @echo "" >> $@
301         @echo "# pre-install script" >> $@
302         @echo "%pre" >> $@
303         @echo "" >> $@
304         @echo "# list of files to be installed" >> $@
305         @echo "%files" >> $@
306         @echo "%defattr (-,root,root)" >> $@
307         @echo "%{destdir}" >> $@
308         @echo "" >> $@
309         @echo "# post-install script" >> $@
310         @echo "# launched after rpm installed" >> $@
311         @echo "%post" >> $@
312         @echo "" >> $@
313         @echo "# post-uninstall script" >> $@
314         @echo "# launched after rpm removed" >> $@
315         @echo "%postun" >> $@
316
317 $(DATARGETNAME)-rpm: $(DATAR) $(DASPECFILE) $(LIBPATH) $(DALIB) $(DADEP) $(EXTRAROOTLIB)
318         @echo "***** Making RPMS for $(DAMODULE)$(SUBDAMODULE)$(DANAME) detector-algorithm *****"
319         $(MUTE)rm -rf junk
320         $(MUTE)mkdir -p junk/SOURCES junk/SPECS junk/BUILD junk/RPMS junk/SRPMS
321         $(MUTE)cp $(DATAR) junk/SOURCES
322         $(MUTE)rpmbuild --quiet --define "_topdir $(ALICE_ROOT)/junk" --nodeps -bb $(DASPECFILE)
323         $(MUTE)find junk/ -name "$(DAARC)-*.rpm" -exec cp -p {} . \;
324         $(MUTE)rm -rf junk
325         @echo "***** RPMS created and put $(ALICE_ROOT) folder *****"
326
327 else
328
329 $(DATARGETNAME):        $(DATARGETNAME)-clean
330 $(DATARGETNAME)-clean:  $(DATARGETNAME)-rpm
331 $(DATARGETNAME)-rpm:
332         @echo
333         @echo "*******************************************************************************************************"
334         @echo "* In order to build a detector-algorithm package you have run AliRoot make with the following syntax: *"
335         @echo "* For example: make daqDA-TPC (compiles and link all the TPC DAs and produces the corresponding DA    *"
336         @echo "*                             executables)                                                            *"
337         @echo "*              make daqDA-MCH (MCH is the online code for MUON TRK detector.                          *"
338         @echo "*                              this target will compile and link MUON/MUONTRKda.cxx and will          *"
339         @echo "*                              produce MUONTRKda.exe)                                                 *"
340         @echo "* In case you want to build the corresponding DA binary RPM, you have to add -rpm to your target name,*"
341         @echo "* for example:                                                                                        *"
342         @echo "*              make daqDA-TOF-rpm  (compiles, links TOF/TOFda.cxx and builds the TOF DA binary RPM)   *"
343         @echo "*              make daqDA-SPD-rpm (compiles, link ITS/ITSSPDda.cxx and builds ITS SPD DA binary RPM)  *"
344         @echo "* For more details about the DA targets, please refer to:                                             *"
345         @echo "* http://aliceinfo.cern.ch/static/people/cheshkov/da-packaging/                                       *"
346         @echo "*******************************************************************************************************"
347         @echo
348
349 endif
350
351 else
352
353 ifneq ($(findstring $(DAMODULE),$(MODULES)),)
354
355 DAMODULEALLTARGETS:=$(notdir $(wildcard $(DAMODULE)/$(DAMODULE)$(SUBDAMODULE)*da.cxx))
356
357 daqDA-$(ONLINEDETECTORNAME): $(DAMODULEALLTARGETS)
358         @echo "***** All available detector-algorithms for $(ONLINEDETECTORNAME) have been built *****"
359
360 %da.cxx:
361         $(MUTE)make $(patsubst %-,%-NONAME,$(addprefix daqDA-,$(subst $(DAMODULE)$(SUBDAMODULE),$(ONLINEDETECTORNAME)-,$(subst da.cxx,,$@))))
362
363 daqDA-$(ONLINEDETECTORNAME)-rpm: $(addsuffix -rpm,$(DAMODULEALLTARGETS))
364         @echo "***** All available detector-algorithm RPMs for $(ONLINEDETECTORNAME) have been built *****"
365
366 %da.cxx-rpm:
367         $(MUTE)make $(subst --,-NONAME-,$(addsuffix -rpm,$(addprefix daqDA-,$(subst $(DAMODULE)$(SUBDAMODULE),$(ONLINEDETECTORNAME)-,$(subst da.cxx-rpm,,$@)))))
368
369 daqDA-$(ONLINEDETECTORNAME)-clean: $(addsuffix -clean,$(DAMODULEALLTARGETS))
370         @echo "***** All available detector-algorithms for $(ONLINEDETECTORNAME) have been cleaned *****"
371
372 %da.cxx-clean:
373         $(MUTE)make $(subst --,-NONAME-,$(addsuffix -clean,$(addprefix daqDA-,$(subst $(DAMODULE)$(SUBDAMODULE),$(ONLINEDETECTORNAME)-,$(subst da.cxx-clean,,$@)))))
374
375 else
376
377 daqDA-$(ONLINEDETECTORNAME): daqDA-$(ONLINEDETECTORNAME)-rpm
378 daqDA-$(ONLINEDETECTORNAME)-rpm: daqDA-$(ONLINEDETECTORNAME)-clean
379 daqDA-$(ONLINEDETECTORNAME)-clean:
380         @echo
381         @echo "========================================================================================================================="
382         @echo " $(ONLINEDETECTORNAME) is not a valid online detector code.                                                              "
383         @echo " The list of the valid codes is SPD SDD SSD TPC TRD TOF HMP PHS CPV PMD MCH MTR FMD T00 V00 ZDC ACO TRI EMC HLT TST GRP  "
384         @echo "========================================================================================================================="
385         @echo
386
387 endif
388
389 endif