Minor fix for software triggers.
[u/mrichter/AliRoot.git] / PWG3 / Makefile
1 # $Id$
2
3 include $(ROOTSYS)/test/Makefile.arch
4
5 default-target: libPWG3base.so libPWG3muon.so libPWG3muondep.so libPWG3vertexingHF.so libPWG3hfe.so libPWG3dielectron.so
6
7 ALICEINC      = -I.
8
9 ### define include dir for local case and par case
10 ifneq ($(ESD_INCLUDE),)
11    ALICEINC += -I../$(ESD_INCLUDE)
12         ifneq ($(STEERBase_INCLUDE),)
13                 ALICEINC += -I../$(STEERBase_INCLUDE)
14         endif                           
15         ifneq ($(AOD_INCLUDE),)
16                 ALICEINC += -I../$(AOD_INCLUDE)
17         endif
18         ifneq ($(ANALYSIS_INCLUDE),)
19                 ALICEINC += -I../$(ANALYSIS_INCLUDE)
20         endif
21         ifneq ($(ANALYSISalice_INCLUDE),)
22                 ALICEINC += -I../$(ANALYSISalice_INCLUDE)
23         endif
24         ifneq ($(CORRFW_INCLUDE),)
25                 ALICEINC += -I../$(CORRFW_INCLUDE)
26         endif
27         ifneq ($(PWG3base_INCLUDE),)
28                 ALICEINC += -I../$(PWG3base_INCLUDE)
29         endif
30 else
31   ifneq ($(ALICE_ROOT),)
32     ALICEINC += -I$(ALICE_ROOT)/include -I$(ALICE_ROOT)/PWG3/base -I$(ALICE_ROOT)/MUON -I$(ALICE_ROOT)/MUON/mapping
33 else
34   endif
35 endif
36
37 CXXFLAGS     += $(ALICEINC) -g
38
39 PACKAGE = PWG3
40 include lib$(PACKAGE).pkg
41
42 DHDR_PWG3 := $(DHDR)
43 HDRS_PWG3 := $(HDRS)
44 SRCS_PWG3 := $(SRCS) G__$(PACKAGE).cxx
45 OBJS_PWG3 := $(SRCS_PWG3:.cxx=.o)
46
47 PARFILE       = $(PACKAGE).par
48
49 lib$(PACKAGE).so: $(OBJS_PWG3)
50         @echo "Linking" $@ ...
51         @/bin/rm -f $@
52 ifeq ($(ARCH),macosx)
53         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
54 else
55         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
56 endif
57         @chmod a+x $@
58         @echo "done"
59
60 %.o:    %.cxx %.h
61         $(CXX) $(CXXFLAGS) -c $< -o $@
62
63 G__PWG3.cxx G__PWG3.h: $(HDRS_PWG3) $(DHDR_PWG3)
64         @echo "Generating dictionary ..."
65         rootcint -f $@ -c $(ALICEINC) $^
66
67 clean:
68         @rm -f $(OBJS_PWG3)  *.so G__PWG3.*  $(PARFILE)
69
70 ### CREATE PAR FILE
71
72 $(PARFILE): $(patsubst %,$(PACKAGE)/%,$(filter-out G__%, $(HDRS_PWG3) $(SRCS_PWG3) $(DHDR_PWG3) Makefile Makefile.arch lib$(PACKAGE).pkg PROOF-INF))
73         @echo "Creating archive" $@ ...
74         @tar cfzh $@ $(PACKAGE)
75         @rm -rf $(PACKAGE)
76         @echo "done"
77
78 $(PACKAGE)/Makefile: Makefile #.$(PACKAGE)
79         @echo Copying $< to $@ with transformations
80         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
81         @sed 's/include \$$(ROOTSYS)\/test\/Makefile.arch/include Makefile.arch/' < $^ > $@
82
83 $(PACKAGE)/Makefile.arch: $(ROOTSYS)/test/Makefile.arch
84         @echo Copying $< to $@
85         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
86         @cp -a $^ $@
87
88 $(PACKAGE)/PROOF-INF: PROOF-INF.$(PACKAGE)
89         @echo Copying $< to $@
90         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
91         @cp -a -r $^ $@
92
93 $(PACKAGE)/%: %
94         @echo Copying $< to $@
95         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
96         @cp -a $< $@
97
98 test-%.par: %.par
99         @echo "INFO: The file $< is now tested, in case of an error check in par-tmp."
100         @mkdir -p par-tmp
101         @cd par-tmp; tar xfz ../$<;     cd $(subst .par,,$<); PROOF-INF/BUILD.sh
102         @rm -rf par-tmp
103         @echo "INFO: Testing succeeded (already cleaned up)"
104
105 ## libPWG3base part
106 ##include libPWG3base.pkg
107
108 DHDR_PWG3base := $(DHDR)
109 HDRS_PWG3base := $(HDRS)
110 SRCS_PWG3base := $(SRCS) G__PWG3base.cxx
111 OBJS_PWG3base := $(SRCS_PWG3base:.cxx=.o)
112
113 libPWG3base.so: $(OBJS_PWG3base)
114         @echo "Linking" $@ ...
115         @/bin/rm -f $@
116 ifeq ($(ARCH),macosx)
117         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
118 else
119         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
120 endif
121         @chmod a+x $@
122         @echo "done"
123
124 G__PWG3base.cxx G__PWG3base.h: $(HDRS_PWG3base) $(DHDR_PWG3base)
125         @echo "Generating dictionary ..."
126         rootcint -f $@ -c $(ALICEINC) $^
127
128
129 ## libPWG3muon part
130 ##include libPWG3muon.pkg
131
132 DHDR_PWG3muon := $(DHDR)
133 HDRS_PWG3muon := $(HDRS)
134 SRCS_PWG3muon := $(SRCS) G__PWG3muon.cxx
135 OBJS_PWG3muon := $(SRCS_PWG3muon:.cxx=.o)
136
137 libPWG3muon.so: $(OBJS_PWG3muon)
138         @echo "Linking" $@ ...
139         @/bin/rm -f $@
140 ifeq ($(ARCH),macosx)
141         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
142 else
143         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
144 endif
145         @chmod a+x $@
146         @echo "done"
147
148 G__PWG3muon.cxx G__PWG3muon.h: $(HDRS_PWG3muon) $(DHDR_PWG3muon)
149         @echo "Generating dictionary ..."
150         rootcint -f $@ -c $(ALICEINC) $^
151
152 ## libPWG3muondep part
153 ##include libPWG3muondep.pkg
154
155 DHDR_PWG3muondep := $(DHDR)
156 HDRS_PWG3muondep := $(HDRS)
157 SRCS_PWG3muondep := $(SRCS) G__PWG3muondep.cxx
158 OBJS_PWG3muondep := $(SRCS_PWG3muondep:.cxx=.o)
159
160 libPWG3muondep.so: $(OBJS_PWG3muondep)
161         @echo "Linking" $@ ...
162         @/bin/rm -f $@
163 ifeq ($(ARCH),macosx)
164         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
165 else
166         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
167 endif
168         @chmod a+x $@
169         @echo "done"
170
171 G__PWG3muondep.cxx G__PWG3muondep.h: $(HDRS_PWG3muondep) $(DHDR_PWG3muondep)
172         @echo "Generating dictionary ..."
173         rootcint -f $@ -c $(ALICEINC) $^
174
175 ## libPWG3vertexingHF part
176 ##include libPWG3vertexingHF.pkg
177
178 DHDR_PWG3vertexingHF := $(DHDR)
179 HDRS_PWG3vertexingHF := $(HDRS)
180 SRCS_PWG3vertexingHF := $(SRCS) G__PWG3vertexingHF.cxx
181 OBJS_PWG3vertexingHF := $(SRCS_PWG3vertexingHF:.cxx=.o)
182
183 libPWG3vertexingHF.so: $(OBJS_PWG3vertexingHF)
184         @echo "Linking" $@ ...
185         @/bin/rm -f $@
186 ifeq ($(ARCH),macosx)
187         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
188 else
189         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
190 endif
191         @chmod a+x $@
192         @echo "done"
193
194 G__PWG3vertexingHF.cxx G__PWG3vertexingHF.h: $(HDRS_PWG3vertexingHF) $(DHDR_PWG3vertexingHF)
195         @echo "Generating dictionary ..."
196         rootcint -f $@ -c $(ALICEINC) $^
197
198
199 ## libPWG3hfe part
200 ##include libPWG3hfe.pkg
201
202 DHDR_PWG3hfe := $(DHDR)
203 HDRS_PWG3hfe := $(HDRS)
204 SRCS_PWG3hfe := $(SRCS) G__PWG3hfe.cxx
205 OBJS_PWG3hfe := $(SRCS_PWG3hfe:.cxx=.o)
206
207 libPWG3hfe.so: $(OBJS_PWG3hfe)
208         @echo "Linking" $@ ...
209         @/bin/rm -f $@
210 ifeq ($(ARCH),macosx)
211         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
212 else
213         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
214 endif
215         @chmod a+x $@
216         @echo "done"
217
218 G__PWG3hfe.cxx G__PWG3hfe.h: $(HDRS_PWG3hfe) $(DHDR_PWG3hfe)
219         @echo "Generating dictionary ..."
220         rootcint -f $@ -c $(ALICEINC) $^
221
222 ## libPWG3dielectron part
223 ##include libPWG3dielectron.pkg
224         
225 DHDR_PWG3dielectron := $(DHDR)
226 HDRS_PWG3dielectron := $(HDRS)
227 SRCS_PWG3dielectron := $(SRCS) G__PWG3dielectron.cxx
228 OBJS_PWG3dielectron := $(SRCS_PWG3dielectron:.cxx=.o)
229
230 libPWG3dielectron.so: $(OBJS_PWG3dielectron)
231         @echo "Linking" $@ ...
232         @/bin/rm -f $@
233 ifeq ($(ARCH),macosx)
234         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
235 else
236         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
237 endif
238         @chmod a+x $@
239         @echo "done"
240                         
241 G__PWG3dielectron.cxx G__PWG3dielectron.h: $(HDRS_PWG3dielectron) $(DHDR_PWG3dielectron)
242         @echo "Generating dictionary ..."
243         rootcint -f $@ -c $(ALICEINC) $^