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