X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWG3%2FMakefile;h=774f60cee480b2f74a97c937cd158d1f685be120;hb=981b4d38bb8499169c666fbaa7fc8608496c0f50;hp=be7c5c99d81a0e3a03139c9d515fecfa74c7244c;hpb=b0c9efdb54a826d57f845d8f565de5f98602679a;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWG3/Makefile b/PWG3/Makefile index be7c5c99d81..774f60cee48 100644 --- a/PWG3/Makefile +++ b/PWG3/Makefile @@ -1,8 +1,8 @@ # $Id$ -include $(ROOTSYS)/test/Makefile.arch +PACKAGE = PWG3 -default-target: libPWG3base.so libPWG3muon.so libPWG3muondep.so libPWG3vertexingHF.so libPWG3vertexingOld.so +include Makefile.arch ALICEINC = -I. @@ -12,6 +12,9 @@ ifneq ($(ESD_INCLUDE),) ifneq ($(STEERBase_INCLUDE),) ALICEINC += -I../$(STEERBase_INCLUDE) endif + ifneq ($(CDB_INCLUDE),) + ALICEINC += -I../$(CDB_INCLUDE) + endif ifneq ($(AOD_INCLUDE),) ALICEINC += -I../$(AOD_INCLUDE) endif @@ -24,18 +27,21 @@ ifneq ($(ESD_INCLUDE),) ifneq ($(CORRFW_INCLUDE),) ALICEINC += -I../$(CORRFW_INCLUDE) endif + ifneq ($(PWG3base_INCLUDE),) + ALICEINC += -I../$(PWG3base_INCLUDE) + endif else ifneq ($(ALICE_ROOT),) - ALICEINC += -I$(ALICE_ROOT)/include -I$(ALICE_ROOT)/MUON + ALICEINC += -I$(ALICE_ROOT)/include -I$(ALICE_ROOT)/PWG3/base -I$(ALICE_ROOT)/MUON -I$(ALICE_ROOT)/MUON/mapping else endif endif +SRCS = $(wildcard $(subst PWG3,,$(PACKAGE))/*.cxx) +HDRS = $(SRCS:.cxx=.h) +DHDR = $(PACKAGE)LinkDef.h CXXFLAGS += $(ALICEINC) -g -PACKAGE = PWG3 -include lib$(PACKAGE).pkg - DHDR_PWG3 := $(DHDR) HDRS_PWG3 := $(HDRS) SRCS_PWG3 := $(SRCS) G__$(PACKAGE).cxx @@ -46,171 +52,37 @@ PARFILE = $(PACKAGE).par lib$(PACKAGE).so: $(OBJS_PWG3) @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) $(SOFLAGS) $(LDFLAGS) $^ -o $@ + $(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ \ + $(OutPutOpt) $(subst .$(DllSuf),.so,$@) endif - @chmod a+x $@ - @echo "done" - -%.o: %.cxx %.h - $(CXX) $(CXXFLAGS) -c $< -o $@ - -G__PWG3.cxx G__PWG3.h: $(HDRS_PWG3) $(DHDR_PWG3) - @echo "Generating dictionary ..." - rootcint -f $@ -c $(ALICEINC) $^ - -clean: - @rm -f $(OBJS_PWG3) *.so G__PWG3.* $(PARFILE) - -### CREATE PAR FILE - -$(PARFILE): $(patsubst %,$(PACKAGE)/%,$(filter-out G__%, $(HDRS_PWG3) $(SRCS_PWG3) $(DHDR_PWG3) Makefile Makefile.arch lib$(PACKAGE).pkg PROOF-INF)) - @echo "Creating archive" $@ ... - @tar cfzh $@ $(PACKAGE) - @rm -rf $(PACKAGE) - @echo "done" - -$(PACKAGE)/Makefile: Makefile #.$(PACKAGE) - @echo Copying $< to $@ with transformations - @[ -d $(dir $@) ] || mkdir -p $(dir $@) - @sed 's/include \$$(ROOTSYS)\/test\/Makefile.arch/include Makefile.arch/' < $^ > $@ - -$(PACKAGE)/Makefile.arch: $(ROOTSYS)/test/Makefile.arch - @echo Copying $< to $@ - @[ -d $(dir $@) ] || mkdir -p $(dir $@) - @cp -a $^ $@ - -$(PACKAGE)/PROOF-INF: PROOF-INF.$(PACKAGE) - @echo Copying $< to $@ - @[ -d $(dir $@) ] || mkdir -p $(dir $@) - @cp -a -r $^ $@ - -$(PACKAGE)/%: % - @echo Copying $< to $@ - @[ -d $(dir $@) ] || mkdir -p $(dir $@) - @cp -a $< $@ - -test-%.par: %.par - @echo "INFO: The file $< is now tested, in case of an error check in par-tmp." - @mkdir -p par-tmp - @cd par-tmp; tar xfz ../$<; cd $(subst .par,,$<); PROOF-INF/BUILD.sh - @rm -rf par-tmp - @echo "INFO: Testing succeeded (already cleaned up)" - -## libPWG3base part -##include libPWG3base.pkg - -DHDR_PWG3base := $(DHDR) -HDRS_PWG3base := $(HDRS) -SRCS_PWG3base := $(SRCS) G__PWG3base.cxx -OBJS_PWG3base := $(SRCS_PWG3base:.cxx=.o) - -libPWG3base.so: $(OBJS_PWG3base) - @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__PWG3base.cxx G__PWG3base.h: $(HDRS_PWG3base) $(DHDR_PWG3base) - @echo "Generating dictionary ..." - rootcint -f $@ -c $(ALICEINC) $^ - - -## libPWG3muon part -##include libPWG3muon.pkg - -DHDR_PWG3muon := $(DHDR) -HDRS_PWG3muon := $(HDRS) -SRCS_PWG3muon := $(SRCS) G__PWG3muon.cxx -OBJS_PWG3muon := $(SRCS_PWG3muon:.cxx=.o) - -libPWG3muon.so: $(OBJS_PWG3muon) - @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__PWG3muon.cxx G__PWG3muon.h: $(HDRS_PWG3muon) $(DHDR_PWG3muon) - @echo "Generating dictionary ..." - rootcint -f $@ -c $(ALICEINC) $^ - -## libPWG3muondep part -##include libPWG3muondep.pkg - -DHDR_PWG3muondep := $(DHDR) -HDRS_PWG3muondep := $(HDRS) -SRCS_PWG3muondep := $(SRCS) G__PWG3muondep.cxx -OBJS_PWG3muondep := $(SRCS_PWG3muondep:.cxx=.o) - -libPWG3muondep.so: $(OBJS_PWG3muondep) - @echo "Linking" $@ ... - @/bin/rm -f $@ -ifeq ($(ARCH),macosx) - @$(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ -o $@ +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 - @chmod a+x $@ - @echo "done" - -G__PWG3muondep.cxx G__PWG3muondep.h: $(HDRS_PWG3muondep) $(DHDR_PWG3muondep) - @echo "Generating dictionary ..." - rootcint -f $@ -c $(ALICEINC) $^ - -## libPWG3vertexingHF part -##include libPWG3vertexingHF.pkg - -DHDR_PWG3vertexingHF := $(DHDR) -HDRS_PWG3vertexingHF := $(HDRS) -SRCS_PWG3vertexingHF := $(SRCS) G__PWG3vertexingHF.cxx -OBJS_PWG3vertexingHF := $(SRCS_PWG3vertexingHF:.cxx=.o) - -libPWG3vertexingHF.so: $(OBJS_PWG3vertexingHF) - @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__PWG3vertexingHF.cxx G__PWG3vertexingHF.h: $(HDRS_PWG3vertexingHF) $(DHDR_PWG3vertexingHF) - @echo "Generating dictionary ..." - rootcint -f $@ -c $(ALICEINC) $^ - -## libPWG3vertexingOld part -##include libPWG3vertexingOld.pkg - -DHDR_PWG3vertexingOld := $(DHDR) -HDRS_PWG3vertexingOld := $(HDRS) -SRCS_PWG3vertexingOld := $(SRCS) G__PWG3vertexingOld.cxx -OBJS_PWG3vertexingOld := $(SRCS_PWG3vertexingOld:.cxx=.o) - -libPWG3vertexingOld.so: $(OBJS_PWG3vertexingOld) - @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" +%.o: %.cxx %.h + $(CXX) $(CXXFLAGS) -c $< -o $@ -G__PWG3vertexingOld.cxx G__PWG3vertexingOld.h: $(HDRS_PWG3vertexingOld) $(DHDR_PWG3vertexingOld) +G__$(PACKAGE).cxx G__$(PACKAGE).h: $(HDRS) $(DHDR) @echo "Generating dictionary ..." rootcint -f $@ -c $(ALICEINC) $^ + +clean: + @rm -f $(OBJS) *.so G__$(PACKAGE).* $(PARFILE)