Adding comments (Laurent)
[u/mrichter/AliRoot.git] / PWG2 / Makefile
1 # $Id$
2
3 include $(ROOTSYS)/test/Makefile.arch
4
5 default-target: libPWG2.so libPWG2ebye.so libPWG2flow.so libPWG2femtoscopy.so libPWG2femtoscopyUser.so
6
7 ALICEINC      = -I.
8
9 ### define include dir for local case and par case
10 ifneq ($(ALICE_ROOT),)
11   ALICEINC += -I$(ALICE_ROOT)/include -I$(ALICE_ROOT)/PYTHIA6 -I$(ALICE_ROOT)/EVGEN -I$(ALICE_ROOT)/RAW -I$(ALICE_ROOT)/TPC
12 else
13   ifneq ($(ESD_INCLUDE),)
14     ALICEINC += -I../$(ESD_INCLUDE)
15   endif
16 endif
17
18 # for building of PWG0dep.par
19 #ifneq ($(PWG0base_INCLUDE),)
20 #  ALICEINC += -I../$(PWG0base_INCLUDE)
21 #endif
22
23 CXXFLAGS     += $(ALICEINC) -g -IFEMTOSCOPY/AliFemto -IFEMTOSCOPY/AliFemto/Base -IFEMTOSCOPY/AliFemto/Infrastructure -IFEMTOSCOPY/AliFemtoUser
24
25 ALICEINC += -IFEMTOSCOPY/AliFemto -IFEMTOSCOPY/AliFemto/Base -IFEMTOSCOPY/AliFemto/Infrastructure  -IFEMTOSCOPY/AliFemtoUser
26
27 PACKAGE = PWG2
28 include lib$(PACKAGE).pkg
29
30 DHDR_PWG2 := $(DHDR)
31 HDRS_PWG2 := $(HDRS)
32 SRCS_PWG2 := $(SRCS) G__$(PACKAGE).cxx
33 OBJS_PWG2 := $(SRCS_PWG2:.cxx=.o)
34
35 PARFILE       = $(PACKAGE).par
36
37 lib$(PACKAGE).so: $(OBJS_PWG2)
38         @echo "Linking" $@ ...
39         @/bin/rm -f $@
40 ifeq ($(PLATFORM),macosx)
41         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
42 else
43         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
44 endif
45         @chmod a+x $@
46         @echo "done"
47
48 %.o:    %.cxx %.h
49         $(CXX) $(CXXFLAGS) -c $< -o $@
50
51 G__PWG2.cxx G__PWG2.h: $(HDRS_PWG2) $(DHDR_PWG2)
52         @echo "Generating dictionary ..."
53         rootcint -f $@ -c $(ALICEINC) $^
54
55 clean:
56         @rm -f $(OBJS_PWG2) $(OBJS_PWG2ebye) $(OBJS_PWG2flow) $(OBJS_PWG2femtoscopy) *.so G__PWG2.* G__PWG2ebye.* G__PWG2flow.* G__PWG2femtoscopy.* $(PARFILE)
57
58 ### CREATE PAR FILE
59
60 $(PARFILE): $(patsubst %,$(PACKAGE)/%,$(filter-out G__%, $(HDRS_PWG2) $(SRCS_PWG2) $(DHDR_PWG2) Makefile Makefile.arch lib$(PACKAGE).pkg PROOF-INF))
61         @echo "Creating archive" $@ ...
62         @tar cfzh $@ $(PACKAGE)
63         @rm -rf $(PACKAGE)
64         @echo "done"
65
66 $(PACKAGE)/Makefile: Makefile #.$(PACKAGE)
67         @echo Copying $< to $@ with transformations
68         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
69         @sed 's/include \$$(ROOTSYS)\/test\/Makefile.arch/include Makefile.arch/' < $^ > $@
70
71 $(PACKAGE)/Makefile.arch: $(ROOTSYS)/test/Makefile.arch
72         @echo Copying $< to $@
73         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
74         @cp -a $^ $@
75
76 $(PACKAGE)/PROOF-INF: PROOF-INF.$(PACKAGE)
77         @echo Copying $< to $@
78         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
79         @cp -a -r $^ $@
80
81 $(PACKAGE)/%: %
82         @echo Copying $< to $@
83         @[ -d $(dir $@) ] || mkdir -p $(dir $@)
84         @cp -a $< $@
85
86 test-%.par: %.par
87         @echo "INFO: The file $< is now tested, in case of an error check in par-tmp."
88         @mkdir -p par-tmp
89         @cd par-tmp; tar xfz ../$<;     cd $(subst .par,,$<); PROOF-INF/BUILD.sh
90         @rm -rf par-tmp
91         @echo "INFO: Testing succeeded (already cleaned up)"
92
93 ## libPWG0ebye part
94 include libPWG2ebye.pkg
95
96 DHDR_PWG2ebye := $(DHDR)
97 HDRS_PWG2ebye := $(HDRS)
98 SRCS_PWG2ebye := $(SRCS) G__PWG2ebye.cxx
99 OBJS_PWG2ebye := $(SRCS_PWG2ebye:.cxx=.o)
100
101 libPWG2ebye.so: $(OBJS_PWG2ebye)
102         @echo "Linking" $@ ...
103         @/bin/rm -f $@
104 ifeq ($(PLATFORM),macosx)
105         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
106 else
107         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
108 endif
109         @chmod a+x $@
110         @echo "done"
111
112 G__PWG2ebye.cxx G__PWG2ebye.h: $(HDRS_PWG2ebye) $(DHDR_PWG2ebye)
113         @echo "Generating dictionary ..."
114         rootcint -f $@ -c $(ALICEINC) $^
115
116 ## libPWG2flow part
117 include libPWG2flow.pkg
118
119 DHDR_PWG2flow := $(DHDR)
120 HDRS_PWG2flow := $(HDRS)
121 SRCS_PWG2flow := $(SRCS) G__PWG2flow.cxx
122 OBJS_PWG2flow := $(SRCS_PWG2flow:.cxx=.o)
123
124 libPWG2flow.so: $(OBJS_PWG2flow)
125         @echo "Linking" $@ ...
126         @/bin/rm -f $@
127 ifeq ($(PLATFORM),macosx)
128         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
129 else
130         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
131 endif
132         @chmod a+x $@
133         @echo "done"
134
135 G__PWG2flow.cxx G__PWG2flow.h: $(HDRS_PWG2flow) $(DHDR_PWG2flow)
136         @echo "Generating dictionary ..."
137         rootcint -f $@ -c $(ALICEINC) $^
138
139
140 ## libPWG2femtoscopy part
141 include libPWG2femtoscopy.pkg
142
143 DHDR_PWG2femtoscopy := $(DHDR)
144 HDRS_PWG2femtoscopy := $(HDRS)
145 SRCS_PWG2femtoscopy := $(SRCS) G__PWG2femtoscopy.cxx
146 OBJS_PWG2femtoscopy := $(SRCS_PWG2femtoscopy:.cxx=.o)
147
148 libPWG2femtoscopy.so: $(OBJS_PWG2femtoscopy)
149         @echo "Linking" $@ ...
150         @/bin/rm -f $@
151 ifeq ($(PLATFORM),macosx)
152         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
153 else
154         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
155 endif
156         @chmod a+x $@
157         @echo "done"
158
159 G__PWG2femtoscopy.cxx G__PWG2femtoscopy.h: $(HDRS_PWG2femtoscopy) $(DHDR_PWG2femtoscopy)
160         @echo "Generating dictionary ..."
161         rootcint -f $@ -c $(ALICEINC) $^
162
163 ## libPWG2femtoscopyUser part
164 include libPWG2femtoscopyUser.pkg
165
166 DHDR_PWG2femtoscopyUser := $(DHDR)
167 HDRS_PWG2femtoscopyUser := $(HDRS)
168 SRCS_PWG2femtoscopyUser := $(SRCS) G__PWG2femtoscopyUser.cxx
169 OBJS_PWG2femtoscopyUser := $(SRCS_PWG2femtoscopyUser:.cxx=.o)
170
171 libPWG2femtoscopyUser.so: $(OBJS_PWG2femtoscopyUser)
172         @echo "Linking" $@ ...
173         @/bin/rm -f $@
174 ifeq ($(PLATFORM),macosx)
175         @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
176 else
177         @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
178 endif
179         @chmod a+x $@
180         @echo "done"
181
182 G__PWG2femtoscopyUser.cxx G__PWG2femtoscopyUser.h: $(HDRS_PWG2femtoscopyUser) $(DHDR_PWG2femtoscopyUser)
183         @echo "Generating dictionary ..."
184         rootcint -f $@ -c $(ALICEINC) $^
185