]>
Commit | Line | Data |
---|---|---|
17cb72ed | 1 | #-*- Mode: Makefile -*- |
2 | ||
0c662ab2 | 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))))))))))))) | |
35f91121 | 5 | |
0c662ab2 | 6 | ifeq ($(ONLINEDETECTORNAME),SPD) |
7 | SUBDAMODULE:=SPD | |
35f91121 | 8 | else |
0c662ab2 | 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:= | |
35f91121 | 38 | endif |
39 | ||
40 | ifneq ($(findstring $(DAMODULE),$(MODULES)),) | |
4179078a | 41 | |
1a5b20b8 | 42 | CXXFLAGS:=$(filter-out -pedantic-errors,$(CXXFLAGS)) |
17cb72ed | 43 | CXXFLAGS+=-I${ALICE_ROOT}/RAW |
4caead95 | 44 | CXXFLAGS+=-I${ALICE_ROOT}/$(DAMODULE) |
5297a78f | 45 | CXXFLAGS+=$(addprefix -I,$(filter-out %tgt_${ALICE_TARGET},$(patsubst %/,%,$(shell ls -d ${ALICE_ROOT}/$(DAMODULE)/*/)))) |
17cb72ed | 46 | |
f2d76654 | 47 | DATARGETDIR=${DAMODULE}/tgt_${ALICE_TARGET} |
0c662ab2 | 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 | |
17cb72ed | 53 | |
5297a78f | 54 | DAVERSION=$(firstword $(shell svn info $(DASRC) | grep "Last Changed Rev:" | cut -d: -f2 )) |
35f91121 | 55 | |
56 | DAROOTRELEASE=$(subst /,.,$(shell root-config --version)) | |
f2d76654 | 57 | |
5297a78f | 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 )) | |
f2d76654 | 60 | |
0c662ab2 | 61 | DAARCNAME=$(patsubst %-,%,daqDA-${ONLINEDETECTORNAME}-${DANAME}) |
62 | DAARC=$(DAARCNAME)-$(DAVERSION) | |
f2d76654 | 63 | DATAR=${DATARGETDIR}/$(DAARC).src.tar.gz |
0c662ab2 | 64 | DASPECFILE=${DATARGETDIR}/$(DAMODULE)$(SUBDAMODULE)$(DANAME)da.spec |
65 | DAMAKEFILE=${DATARGETDIR}/${DAMODULE}$(SUBDAMODULE)${DANAME}da.make | |
e06bd7b4 | 66 | |
35f91121 | 67 | ifeq ($(DAQDALIB_PATH),) |
17cb72ed | 68 | DAQDADIR=${ALICE}/daqDAlib |
35f91121 | 69 | else |
70 | DAQDADIR=${DAQDALIB_PATH} | |
71 | endif | |
17cb72ed | 72 | DAQDALIB=$(DAQDADIR)/libdaqDA.a |
73 | ||
0f8650ae | 74 | ifneq ($(shell $(AMORE)/amore-config 2>&1 |grep -i usage),) |
75 | AMOREFLAGS = -DALI_AMORE $(shell $(AMORE)/amore-config --cflags --includes) | |
396cdc74 | 76 | CXXFLAGS += $(AMOREFLAGS) |
77 | CFLAGS += $(AMOREFLAGS) | |
78 | CINTFLAGS += $(AMOREFLAGS) | |
79 | DEPINC += $(AMOREFLAGS) | |
0f8650ae | 80 | AMOREDALIBS+=-static $(shell $(AMORE)/amore-config --ldflags-da-static) $(shell date-config --rcproxylibs) |
3b59469c | 81 | else |
82 | AMOREDALIBS= | |
396cdc74 | 83 | endif |
84 | ||
17cb72ed | 85 | ROOTLIBDIR=$(shell root-config --libdir) |
86 | ||
0a121f1a | 87 | SYSLIBS=-ldl -lpthread $(shell xml2-config --libs) |
e06bd7b4 | 88 | |
17cb72ed | 89 | MONITORLIBS=$(shell date-config --monitorlibs=noshift) |
90 | ||
c9886fb8 | 91 | ALIROOTALIBS=$(RAWDatabaseALIB) $(RAWDatarecALIB) $(RAWDatasimALIB) $(STEERBaseALIB) $(STEERALIB) $(CDBALIB) $(ESDALIB) $(AODALIB) $(STATALIB) |
17cb72ed | 92 | |
4caead95 | 93 | ALIROOTALIBS+=$($(DAMODULE)ALIBS) |
17cb72ed | 94 | |
35f91121 | 95 | EXTRAROOTLIB=${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}/libRootExtra.a |
17cb72ed | 96 | |
35f91121 | 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))))))))))) |
17cb72ed | 98 | |
35f91121 | 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) | |
17cb72ed | 103 | endif |
104 | ||
d79faf78 | 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) | |
292ef3be | 114 | |
35f91121 | 115 | $(DATARGETNAME): $(DAEXE) |
116 | ||
7aae3919 | 117 | $(DAEXE): $(DAOBJ) $(BINPATH) $(LIBPATH) $(DALIB) $(DAQDALIB) $(EXTRAROOTLIB) |
f2d76654 | 118 | @echo "***** Making executable $(DAEXE) *****" |
35f91121 | 119 | $(MUTE)$(LD) $(LDFLAGS) -o $@ $< \ |
120 | $(DALIB) \ | |
121 | $(EXTRAROOTLIB) \ | |
4179078a | 122 | $(ROOTLIBDIR)/libRoot.a \ |
123 | $(ROOTLIBDIR)/libfreetype.a $(ROOTLIBDIR)/libpcre.a \ | |
0e83d55e | 124 | $(SYSLIBS) \ |
125 | $(DAQDALIB) $(MONITORLIBS) $(AMOREDALIBS) | |
17cb72ed | 126 | |
f2d76654 | 127 | $(DAOBJ): $(DASRC) $(DAQDADIR) $(DADEP) $(DATARGETDIR) |
128 | @echo "***** Compiling $(DASRC) *****" | |
4caead95 | 129 | $(MUTE)$(CXX) -c $(CXXFLAGS) -I$(DAQDADIR) $< -o $@ |
4179078a | 130 | |
f2d76654 | 131 | $(DADEP): $(DASRC) $(DAQDADIR) $(DATARGETDIR) |
132 | @echo "***** Making detector-algorithm dependencies $(DADEP) *****" | |
35f91121 | 133 | $(MUTE)$(CPP) -MM $(CXXFLAGS) $(addprefix -I$(ALICE_ROOT)/,$(MODULES)) -I$(DAQDADIR) $< > $@ |
17cb72ed | 134 | |
135 | -include $(DADEP) | |
136 | ||
f2d76654 | 137 | $(DATARGETDIR): |
138 | $(MUTE)if [ ! -d '$@' ]; then echo "***** Making directory $@ *****"; mkdir -p $@; fi | |
139 | ||
0e83d55e | 140 | $(DALIB): $(ARVERSIONFILE) $(ALIROOTALIBS) |
f2d76654 | 141 | @echo "***** Linking static library $(DALIB) *****" |
4caead95 | 142 | $(MUTE)rm -rf $@ |
143 | $(MUTE)rm -rf junk | |
0e83d55e | 144 | $(MUTE)mkdir junk && cd junk && $(addprefix $(AR) x ../,$(addsuffix &&,$(filter-out $(ARVERSIONFILE),$^))) $(AR) r $@ *.o && cd .. && rm -rf junk |
17cb72ed | 145 | |
35f91121 | 146 | $(EXTRAROOTLIB): $(LIBPATH) |
9151ee07 | 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` |
35f91121 | 148 | |
149 | $(DATARGETNAME)-clean: | |
0c662ab2 | 150 | @echo "***** Cleaning $(DAMODULE)$(SUBDAMODULE)$(DANAME) detector-algorithm *****" |
f2d76654 | 151 | $(MUTE)rm -f $(DASPECFILE) |
152 | $(MUTE)rm -f $(DATAR) | |
4caead95 | 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) | |
35f91121 | 159 | $(MUTE)rm -f $(EXTRAROOTLIB) |
17cb72ed | 160 | |
f2d76654 | 161 | $(DAMAKEFILE): $(DATARGETDIR) |
35f91121 | 162 | $(MUTE)rm -f $(DAMAKEFILE) |
f2d76654 | 163 | @echo "***** Making makefile $(DAMAKEFILE) *****" |
35f91121 | 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 "" >> $@ | |
e06bd7b4 | 185 | @echo "DAQDALIB=""$$""(DAQDADIR)/libdaqDA.a" >> $@ |
0f8650ae | 186 | @echo "AMOREDALIBS=-static ""$$""(shell ""$$""(AMORE)/amore-config --ldflags-da-static) ""$$""(shell date-config --rcproxylibs)" >> $@ |
e06bd7b4 | 187 | @echo "MONITORLIBS=""$$""(shell date-config --monitorlibs=noshift)" >> $@ |
35f91121 | 188 | @echo "" >> $@ |
0c662ab2 | 189 | @echo "${DAMODULE}${SUBDAMODULE}${DANAME}da.exe: ${DAMODULE}${SUBDAMODULE}${DANAME}da.o" >> $@ |
35f91121 | 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 \\" >> $@ | |
0e83d55e | 195 | @echo " $(SYSLIBS) \\" >> $@ |
196 | @echo " ""$$""(DAQDALIB) ""$$""(MONITORLIBS) ""$$""(AMOREDALIBS)" >> $@ | |
35f91121 | 197 | @echo "" >> $@ |
0c662ab2 | 198 | @echo "${DAMODULE}${SUBDAMODULE}${DANAME}da.o: ${DAMODULE}${SUBDAMODULE}${DANAME}da.cxx" >> $@ |
e06bd7b4 | 199 | @echo " ""$$""(CXX) -c ""$$""(CXXFLAGS) -I""$$""(DAQDADIR) ""$$""< -o ""$$""@" >> $@ |
35f91121 | 200 | @echo "" >> $@ |
e06bd7b4 | 201 | @echo "clean:" >> $@ |
0c662ab2 | 202 | @echo " @rm -f ${DAMODULE}${SUBDAMODULE}${DANAME}da.exe ${DAMODULE}${SUBDAMODULE}${DANAME}da.o" >> $@ |
35f91121 | 203 | @echo "" >> $@ |
0c662ab2 | 204 | @echo "install: ${DAMODULE}${SUBDAMODULE}${DANAME}da.exe" >> $@ |
f2d76654 | 205 | @echo " @if [ '""$$""(INSTALL_PATH)' == '' ]; then \\" >> $@ |
206 | @echo " echo Environment variable INSTALL_PATH undefined, cannot continue; \\" >> $@ | |
207 | @echo " exit 1; \\" >> $@ | |
208 | @echo " fi" >> $@ | |
0c662ab2 | 209 | @echo " @cp -p ${DAMODULE}${SUBDAMODULE}${DANAME}da.exe ""$$""(INSTALL_PATH)" >> $@ |
f2d76654 | 210 | |
35f91121 | 211 | $(DATAR): $(DASRC) $(DAMAKEFILE) $(DASPECFILE) |
f2d76654 | 212 | @echo "***** Making archive $(DATAR) *****" |
213 | $(MUTE)rm -rf $(DATAR) | |
4caead95 | 214 | $(MUTE)rm -rf junk |
35f91121 | 215 | $(MUTE)mkdir junk && mkdir junk/$(DAARC) && \ |
216 | cp -a $(DASRC) junk/$(DAARC) && \ | |
f2d76654 | 217 | cp -a $(DAMAKEFILE) junk/$(DAARC)/Makefile && \ |
0c662ab2 | 218 | cp -a $(DASPECFILE) junk/$(DAARC)/$(DAMODULE)${SUBDAMODULE}$(DANAME)da.spec && \ |
17cb72ed | 219 | cd junk && \ |
f2d76654 | 220 | tar czf ../$(DATAR) * && \ |
17cb72ed | 221 | cd .. && rm -rf junk |
4179078a | 222 | |
f2d76654 | 223 | $(DASPECFILE): $(DATARGETDIR) |
35f91121 | 224 | $(MUTE)rm -f $(DASPECFILE) |
f2d76654 | 225 | @echo "***** Making RPM spec-file $(DASPECFILE) *****" |
0c662ab2 | 226 | @echo "# RPM specfile for $(DAMODULE)${SUBDAMODULE}$(DANAME) Detector Algorithm" >> $@ |
227 | @echo "Summary: $(ONLINEDETECTORNAME) Detector Algorithm" >> $@ | |
228 | @echo "Name: $(DAARCNAME)" >> $@ | |
f2d76654 | 229 | @echo "Version: $(DAVERSION)" >> $@ |
0c662ab2 | 230 | @echo "Release: $(DAALIROOTRELEASE)" >> $@ |
f2d76654 | 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" >> $@ | |
0c662ab2 | 250 | @echo "This is the $(ONLINEDETECTORNAME) $(DANAME) DA for online calibration." >> $@ |
35f91121 | 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." >> $@ | |
292ef3be | 254 | @echo "Contact: $(DACONTACT)" >> $@ |
255 | @echo "Link: $(DALINKPAGE)" >> $@ | |
2e9766df | 256 | @echo "Reference Run: $(DAREFRUN)" >> $@ |
292ef3be | 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)" >> $@ | |
f2d76654 | 263 | @echo "" >> $@ |
264 | @echo "#################################################################" >> $@ | |
265 | @echo "# Do not modify following scripts" >> $@ | |
266 | @echo "#################################################################" >> $@ | |
267 | @echo "" >> $@ | |
ec696daf | 268 | @echo "%define debug_package %{nil}" >> $@ |
269 | @echo "%define __os_install_post %{nil}" >> $@ | |
270 | @echo "" >> $@ | |
f2d76654 | 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" >> $@ | |
f2d76654 | 296 | @echo "# remove installed files" >> $@ |
297 | @echo "rm -rf ""$$""RPM_BUILD_ROOT" >> $@ | |
0bc0c8b0 | 298 | @echo "# remove source files" >> $@ |
299 | @echo "rm -rf ""$$""RPM_BUILD_DIR/%{pkgname}" >> $@ | |
f2d76654 | 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 | ||
7aae3919 | 317 | $(DATARGETNAME)-rpm: $(DATAR) $(DASPECFILE) $(LIBPATH) $(DALIB) $(DADEP) $(EXTRAROOTLIB) |
0c662ab2 | 318 | @echo "***** Making RPMS for $(DAMODULE)$(SUBDAMODULE)$(DANAME) detector-algorithm *****" |
f2d76654 | 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 | |
35f91121 | 322 | $(MUTE)rpmbuild --quiet --define "_topdir $(ALICE_ROOT)/junk" --nodeps -bb $(DASPECFILE) |
f2d76654 | 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 | ||
4179078a | 327 | else |
328 | ||
35f91121 | 329 | $(DATARGETNAME): $(DATARGETNAME)-clean |
feddbf46 | 330 | $(DATARGETNAME)-clean: $(DATARGETNAME)-rpm |
35f91121 | 331 | $(DATARGETNAME)-rpm: |
4179078a | 332 | @echo |
35f91121 | 333 | @echo "*******************************************************************************************************" |
334 | @echo "* In order to build a detector-algorithm package you have run AliRoot make with the following syntax: *" | |
02a4345b | 335 | @echo "* For example: make daqDA-TPC (compiles and link all the TPC DAs and produces the corresponding DA *" |
f851a9ee | 336 | @echo "* executables) *" |
02a4345b | 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) *" | |
feddbf46 | 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: *" | |
02a4345b | 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/ *" | |
35f91121 | 346 | @echo "*******************************************************************************************************" |
4179078a | 347 | @echo |
348 | ||
4179078a | 349 | endif |
0c662ab2 | 350 | |
351 | else | |
352 | ||
f851a9ee | 353 | ifneq ($(findstring $(DAMODULE),$(MODULES)),) |
354 | ||
0c662ab2 | 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 | ||
f851a9ee | 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 | ||
0c662ab2 | 389 | endif |