include Makefile.arch
-default-target: libPWG0base.so libPWG0dep.so libPWG0selectors.so
+PACKAGE = PWG0base
+default-target: lib$(PACKAGE).so
ALICEINC = -I.
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
+ 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
endif
endif
CXXFLAGS += $(ALICEINC) -g
-PACKAGE = PWG0base
-include lib$(PACKAGE).pkg
+SRCS = $(wildcard *.cxx */*.cxx)
+HDRS = $(SRCS:.cxx=.h)
+DHDR = $(PACKAGE)LinkDef.h
DHDR_PWG0base := $(DHDR)
HDRS_PWG0base := $(HDRS)
lib$(PACKAGE).so: $(OBJS_PWG0base)
@echo "Linking" $@ ...
@/bin/rm -f $@
-ifeq ($(ARCH),macosx)
- @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
+ifeq ($(PLATFORM),macosx)
+# 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) -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) $^ -o $@
+ $(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(EXPLLINKLIBS)
+endif
endif
@chmod a+x $@
@echo "done"
%.o: %.cxx %.h
$(CXX) $(CXXFLAGS) -c $< -o $@
-G__PWG0base.cxx G__PWG0base.h: $(HDRS_PWG0base) $(DHDR_PWG0base)
+G__$(PACKAGE).cxx G__$(PACKAGE).h: $(HDRS_PWG0base) $(DHDR_PWG0base)
@echo "Generating dictionary ..."
rootcint -f $@ -c $(ALICEINC) $^
### CREATE PAR FILE
-$(PARFILE): $(patsubst %,$(PACKAGE)/%,$(filter-out G__%, $(HDRS_PWG0base) $(SRCS_PWG0base) $(DHDR_PWG0base) 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)
@cd par-tmp; tar xfz ../$<; cd $(subst .par,,$<); PROOF-INF/BUILD.sh
@rm -rf par-tmp
@echo "INFO: Testing succeeded (already cleaned up)"
-
-## libPWG0dep part
-include libPWG0dep.pkg
-
-DHDR_PWG0dep := $(DHDR)
-HDRS_PWG0dep := $(HDRS)
-SRCS_PWG0dep := $(SRCS) G__PWG0dep.cxx
-OBJS_PWG0dep := $(SRCS_PWG0dep:.cxx=.o)
-
-libPWG0dep.so: $(OBJS_PWG0dep)
- @echo "Linking" $@ ...
- @/bin/rm -f $@
-ifeq ($(ARCH),macosx)
- @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
-else
- @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
-endif
- @chmod a+x $@
- @echo "done"
-
-G__PWG0dep.cxx G__PWG0dep.h: $(HDRS_PWG0dep) $(DHDR_PWG0dep)
- @echo "Generating dictionary ..."
- rootcint -f $@ -c $(ALICEINC) $^
-
-## libPWG0selectors part
-include libPWG0selectors.pkg
-
-DHDR_PWG0selectors := $(DHDR)
-HDRS_PWG0selectors := $(HDRS)
-SRCS_PWG0selectors := $(SRCS) G__PWG0selectors.cxx
-OBJS_PWG0selectors := $(SRCS_PWG0selectors:.cxx=.o)
-
-libPWG0selectors.so: $(OBJS_PWG0selectors)
- @echo "Linking" $@ ...
- @/bin/rm -f $@
-ifeq ($(ARCH),macosx)
- @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@
-else
- @$(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
-endif
- @chmod a+x $@
- @echo "done"
-
-G__PWG0selectors.cxx G__PWG0selectors.h: $(HDRS_PWG0selectors) $(DHDR_PWG0selectors)
- @echo "Generating dictionary ..."
- rootcint -f $@ -c $(ALICEINC) $^
-