include $(ROOTSYS)/test/Makefile.arch
-default-target: libPWG2.so libPWG2ebye.so libPWG2flow.so
+PACKAGE = PWG2
+
+default-target: lib$(PACKAGE).so
-ALICEINC = -I.
+ALICEINC = -I. -I$(ALICE_ROOT)/TOF -I$(ALICE_ROOT)/ANALYSIS/EventMixing
### define include dir for local case and par case
-ifneq ($(ALICE_ROOT),)
- ALICEINC += -I$(ALICE_ROOT)/include -I$(ALICE_ROOT)/PYTHIA6 -I$(ALICE_ROOT)/EVGEN -I$(ALICE_ROOT)/RAW -I$(ALICE_ROOT)/TPC
-else
- ifneq ($(ESD_INCLUDE),)
- ALICEINC += -I../$(ESD_INCLUDE)
+ifneq ($(ESD_INCLUDE),)
+ ALICEINC += -I../$(ESD_INCLUDE)
+ ALICEINC += -I../$(AOD_INCLUDE)
+ ALICEINC += -I../$(STEERBase_INCLUDE)
+ ALICEINC += -I../$(ANALYSIS_INCLUDE)
+ ALICEINC += -I../$(ANALYSISalice_INCLUDE)
+ else
+ ifneq ($(ALICE_ROOT),)
+ ALICEINC += -I$(ALICE_ROOT)/include -I$(ALICE_ROOT)/PWG2
+ endif
+endif
+
+ifneq ($(CORRFW_INCLUDE),)
+ ALICEINC += -I../$(CORRFW_INCLUDE)
+endif
+
+ifneq ($(PWG2AOD_INCLUDE),)
+ ALICEINC += -I../$(PWG2AOD_INCLUDE)
+endif
+
+ifneq ($(PWG2femtoscopy_INCLUDE),)
+ ALICEINC += -I../$(PWG2femtoscopy_INCLUDE)
+ else
+ ifneq ($(ALICE_ROOT),)
+ ALICEINC += -I$(ALICE_ROOT)/PWG2/AOD
+ endif
+endif
+
+ifneq ($(PWG2femtoscopyUser_INCLUDE),)
+ ALICEINC += -I../$(PWG2femtoscopyUser_INCLUDE)
+ else
+ ifneq ($(ALICE_ROOT),)
+ ALICEINC += -I$(ALICE_ROOT)/PWG2/AOD -I$(ALICE_ROOT)/PWG2/FEMTOSCOPY/AliFemto
+ endif
+endif
+
+ifneq ($(PWG2flowCommon_INCLUDE),)
+ ALICEINC += -I../$(PWG2flowCommon_INCLUDE)
+endif
+
+ifneq ($(PWG2flowTasks_INCLUDE),)
+ ALICEINC += -I../$(PWG2flowTasks_INCLUDE)
+ else
+ ifneq ($(ALICE_ROOT),)
+ ALICEINC += -I$(ALICE_ROOT)/PWG2/FLOW/AliFlowCommon
+ endif
+endif
+
+ifneq ($(PWG2resonances_INCLUDE),)
+ ALICEINC += -I../$(PWG2resonances_INCLUDE)
+ else
+ ifneq ($(ALICE_ROOT),)
+ ALICEINC += -I$(ALICE_ROOT)/PWG2/RESONANCES
+ endif
+endif
+
+ifneq ($(PWG2unicor_INCLUDE),)
+ ALICEINC += -I../$(PWG2unicor_INCLUDE)
+endif
+
+ifneq ($(PWG2evchar_INCLUDE),)
+ ALICEINC += -I../$(PWG2evchar_INCLUDE)
+endif
+
+ifneq ($(PWG2kink_INCLUDE),)
+ ALICEINC += -I../$(PWG2kink_INCLUDE)
+endif
+
+ifneq ($(PWG2forward_INCLUDE),)
+ ALICEINC += -I../$(PWG2forward_INCLUDE)
+ else
+ ifneq ($(ALICE_ROOT),)
+ ALICEINC += -I$(ALICE_ROOT)/FMD
+ endif
+endif
+
+# only if no par file was loaded before
+ifeq ($(ALICEINC),-I.)
+ ifneq ($(ALICE_ROOT),)
+ ALICEINC += -I$(ALICE_ROOT)/include
endif
endif
# ALICEINC += -I../$(PWG0base_INCLUDE)
#endif
+#ALICEINC += -IFEMTOSCOPY/AliFemto -IANALYSIS -IFEMTOSCOPY/AliFemtoUser
+
+# include lib$(PACKAGE).pkg
+
+ifneq ($(EINCLUDE),)
+ ALICEINC += $(EINCLUDE:%=-I$(ALICE_ROOT)/%)
+endif
+
CXXFLAGS += $(ALICEINC) -g
+F77FLAGS += $(ALICEINC) -g -fPIC
-PACKAGE = PWG2
-include lib$(PACKAGE).pkg
+DHDR =
+HDRS =
+SRCS =
+FSRCS =
DHDR_PWG2 := $(DHDR)
HDRS_PWG2 := $(HDRS)
SRCS_PWG2 := $(SRCS) G__$(PACKAGE).cxx
-OBJS_PWG2 := $(SRCS_PWG2:.cxx=.o)
+FSCRS_PWG2 := $(FSRCS)
+OBJS_PWG2 := $(SRCS_PWG2:.cxx=.o) $(FSRCS:.F=.o)
PARFILE = $(PACKAGE).par
@echo "Linking" $@ ...
@/bin/rm -f $@
ifeq ($(PLATFORM),macosx)
- @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
+# We need to make both the .dylib and the .so
+ $(LD) $(SOFLAGS)$@ $(LDFLAGS) $^ $(OutPutOpt) $@
+ifneq ($(subst $(MACOSX_MINOR),,1234),1234)
+ifeq ($(MACOSX_MINOR),4)
+ ln -sf $@ $(subst .$(DllSuf),.so,$@)
else
- @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
+ $(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ \
+ $(OutPutOpt) $(subst .$(DllSuf),.so,$@)
+endif
+endif
+else
+ifeq ($(PLATFORM),win32)
+ bindexplib $* $^ > $*.def
+ lib -nologo -MACHINE:IX86 $^ -def:$*.def \
+ $(OutPutOpt)$(EVENTLIB)
+ $(LD) $(SOFLAGS) $(LDFLAGS) $^ $*.exp $(LIBS) \
+ $(OutPutOpt)$@
+else
+ $(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(EXPLLINKLIBS)
+endif
endif
@chmod a+x $@
@echo "done"
%.o: %.cxx %.h
$(CXX) $(CXXFLAGS) -c $< -o $@
-G__PWG2.cxx G__PWG2.h: $(HDRS_PWG2) $(DHDR_PWG2)
+%.o: %.F
+ $(F77) $(F77FLAGS) -c $< -o $@
+
+G__$(PACKAGE).h:G__$(PACKAGE).cxx
+ @if test -f $@ ; then : ; else rm -f $< ; $(MAKE) $@ ; fi
+
+G__$(PACKAGE).cxx: $(HDRS_PWG2) $(DHDR_PWG2)
@echo "Generating dictionary ..."
- rootcint -f $@ -c $(ALICEINC) $^
+ rootcint -f $@ -c $(CINTFLAGS) $(ALICEINC) $^
clean:
- @rm -f $(OBJS_PWG2) $(OBJS_PWG2ebye) $(OBJS_PWG2flow) *.so G__PWG2.* G__PWG2ebye.* G__PWG2flow.* $(PARFILE)
+ @rm -f $(OBJS_PWG2) *.so G__$(PACKAGE).* $(PARFILE)
### CREATE PAR FILE
@cd par-tmp; tar xfz ../$<; cd $(subst .par,,$<); PROOF-INF/BUILD.sh
@rm -rf par-tmp
@echo "INFO: Testing succeeded (already cleaned up)"
-
-## libPWG0ebye part
-include libPWG2ebye.pkg
-
-DHDR_PWG2ebye := $(DHDR)
-HDRS_PWG2ebye := $(HDRS)
-SRCS_PWG2ebye := $(SRCS) G__PWG2ebye.cxx
-OBJS_PWG2ebye := $(SRCS_PWG2ebye:.cxx=.o)
-
-libPWG2ebye.so: $(OBJS_PWG2ebye)
- @echo "Linking" $@ ...
- @/bin/rm -f $@
-ifeq ($(PLATFORM),macosx)
- @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
-else
- @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
-endif
- @chmod a+x $@
- @echo "done"
-
-G__PWG2ebye.cxx G__PWG2ebye.h: $(HDRS_PWG2ebye) $(DHDR_PWG2ebye)
- @echo "Generating dictionary ..."
- rootcint -f $@ -c $(ALICEINC) $^
-
-## libPWG2flow part
-include libPWG2flow.pkg
-
-DHDR_PWG2flow := $(DHDR)
-HDRS_PWG2flow := $(HDRS)
-SRCS_PWG2flow := $(SRCS) G__PWG2flow.cxx
-OBJS_PWG2flow := $(SRCS_PWG2flow:.cxx=.o)
-
-libPWG2flow.so: $(OBJS_PWG2flow)
- @echo "Linking" $@ ...
- @/bin/rm -f $@
-ifeq ($(PLATFORM),macosx)
- @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
-else
- @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
-endif
- @chmod a+x $@
- @echo "done"
-
-G__PWG2flow.cxx G__PWG2flow.h: $(HDRS_PWG2flow) $(DHDR_PWG2flow)
- @echo "Generating dictionary ..."
- rootcint -f $@ -c $(ALICEINC) $^
-