-PACKAGE = PWG0base
+# $Id$
+
+include Makefile.arch
-include $(ROOTSYS)/test/Makefile.arch
-include lib$(PACKAGE).pkg
+PACKAGE = PWG0base
+default-target: lib$(PACKAGE).so
-ALICEINC = -I.
+ALICEINC = -I.
### define include dir for local case and par case
-ifneq ($(ALICE_ROOT),)
- ALICEINC += -I$(ALICE_ROOT)/include
+ifneq ($(ESD_INCLUDE),)
+ ALICEINC += -I../$(ESD_INCLUDE)
+ ifneq ($(STEERBase_INCLUDE),)
+ ALICEINC += -I../$(STEERBase_INCLUDE)
+ endif
+ ifneq ($(AOD_INCLUDE),)
+ ALICEINC += -I../$(AOD_INCLUDE)
+ endif
+ ifneq ($(ANALYSIS_INCLUDE),)
+ ALICEINC += -I../$(ANALYSIS_INCLUDE)
+ endif
+ ifneq ($(ANALYSISalice_INCLUDE),)
+ ALICEINC += -I../$(ANALYSISalice_INCLUDE)
+ endif
+else
+ ifneq ($(ALICE_ROOT),)
+ ALICEINC += -I$(ALICE_ROOT)/include -I$(ALICE_ROOT)/PYTHIA6 -I$(ALICE_ROOT)/EVGEN -I$(ALICE_ROOT)/RAW -I$(ALICE_ROOT)/TPC -I$(ALICE_ROOT)/PWG0
else
- ifneq ($(STEER_INCLUDE),)
- ALICEINC += -I../$(STEER_INCLUDE)
- endif
- ifneq ($(ESD_INCLUDE),)
- ALICEINC += -I../$(ESD_INCLUDE)
endif
endif
-CXXFLAGS += $(ALICEINC)
-SRCS += dict.cxx
-OBJS = $(SRCS:.cxx=.o)
+# for building of PWG0dep.par
+ifneq ($(PWG0base_INCLUDE),)
+ ALICEINC += -I../$(PWG0base_INCLUDE)
+endif
+
+CXXFLAGS += $(ALICEINC) -g
+
+SRCS = $(wildcard *.cxx */*.cxx)
+HDRS = $(SRCS:.cxx=.h)
+DHDR = $(PACKAGE)LinkDef.h
+
+DHDR_PWG0base := $(DHDR)
+HDRS_PWG0base := $(HDRS)
+SRCS_PWG0base := $(SRCS) G__$(PACKAGE).cxx
+OBJS_PWG0base := $(SRCS_PWG0base:.cxx=.o)
+
PARFILE = $(PACKAGE).par
-lib$(PACKAGE).so: $(OBJS)
+lib$(PACKAGE).so: $(OBJS_PWG0base)
@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) $(OBJS) -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 $@
-clean:
- @rm -f $(OBJS) core *~ *.so dict.* $(PARFILE)
-
-dict.cxx dict.h: $(HDRS) $(DHDR)
+G__$(PACKAGE).cxx G__$(PACKAGE).h: $(HDRS_PWG0base) $(DHDR_PWG0base)
@echo "Generating dictionary ..."
- @[ -f dict ] || rm -f $@
rootcint -f $@ -c $(ALICEINC) $^
+clean:
+ @rm -f $(OBJS_PWG0base) $(OBJS_PWG0dep) $(OBJS_PWG0selectors) *.so G__PWG0base.* G__PWG0dep.* G__PWG0selectors.* $(PARFILE)
+
### CREATE PAR FILE
-$(PARFILE): $(patsubst %,$(PACKAGE)/%,$(filter-out dict.%, $(HDRS) $(SRCS) $(DHDR) $(PKGFILE) Makefile Makefile.arch lib$(PACKAGE).pkg PROOF-INF))
+$(PARFILE): $(patsubst %,$(PACKAGE)/%,$(filter-out G__%, $(HDRS_PWG0base) $(SRCS_PWG0base) $(DHDR_PWG0base) Makefile Makefile.arch PROOF-INF))
@echo "Creating archive" $@ ...
@tar cfzh $@ $(PACKAGE)
@rm -rf $(PACKAGE)
$(PACKAGE)/Makefile.arch: $(ROOTSYS)/test/Makefile.arch
@echo Copying $< to $@
@[ -d $(dir $@) ] || mkdir -p $(dir $@)
- @cp $^ $@
+ @cp -a $^ $@
$(PACKAGE)/PROOF-INF: PROOF-INF.$(PACKAGE)
@echo Copying $< to $@
@[ -d $(dir $@) ] || mkdir -p $(dir $@)
- @cp -r $^ $@
+ @cp -a -r $^ $@
$(PACKAGE)/%: %
@echo Copying $< to $@
@[ -d $(dir $@) ] || mkdir -p $(dir $@)
- @cp $< $@
+ @cp -a $< $@
test-%.par: %.par
@echo "INFO: The file $< is now tested, in case of an error check in par-tmp."