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