]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - build/module.tpl
1 object for all runs
[u/mrichter/AliRoot.git] / build / module.tpl
index 9a535795c65fd870795171bbb52095bb9fc97c63..61784292a58c2e8e3e2ff13325a3d0fcd94b8c22 100644 (file)
@@ -25,14 +25,6 @@ else
 @PACKAGE@SOFLAGS:=$(PACKSOFLAGS)
 endif
 
-ifdef DYEXT
-ifndef PACKDYFLAGS
-@PACKAGE@DYFLAGS:=$(DYFLAGS)
-else
-@PACKAGE@DYFLAGS:=$(PACKDYFLAGS)
-endif
-endif
-
 ifndef PACKLDFLAGS
 @PACKAGE@LDFLAGS:=$(LDFLAGS)
 else
@@ -140,19 +132,12 @@ endif
 
 @PACKAGE@LIB:=$(LIBPATH)/lib@PACKAGE@.$(SOEXT)
 
-ifneq ($(DYEXT),)
-@PACKAGE@DLIB:=$(LIBPATH)/lib@PACKAGE@.$(DYEXT)
-endif
-
 @PACKAGE@ALIB:=$(LIBPATH)/lib@PACKAGE@.$(AEXT)
 
 #Add this to the modules libs
 ifeq ($(TYPE),lib)
 @MODULE@LIBS += $(@PACKAGE@LIB)
 @MODULE@ALIBS += $(@PACKAGE@ALIB)
-ifneq ($(DYEXT),)
-@MODULE@DLIBS += $(@PACKAGE@DLIB)
-endif
 endif
 
 #The actual binary file
@@ -167,19 +152,12 @@ endif
 ifeq ($(TYPE),lib)
 ALLLIBS += $(@PACKAGE@LIB)
 ALLALIBS += $(@PACKAGE@ALIB)
-ifneq ($(DYEXT),)
-ALLLIBS += $(@PACKAGE@DLIB)
-endif
 BINLIBS += -l@PACKAGE@
 else
 ALLEXECS += $(@PACKAGE@BIN)
 endif
 
-ifeq ($(DYEXT),)
-@PACKAGE@LIB := $(@PACKAGE@LIB)
-else
 @PACKAGE@LIB := $(@PACKAGE@LIB)
-endif
 
 # include all dependence files
 INCLUDEFILES +=$(@PACKAGE@DEP)
@@ -203,35 +181,15 @@ endif
 
 #------------------------------------------------------------------------
 
-ifneq (,$(findstring macosx,$(ALICE_TARGET)))
-$(@PACKAGE@LIB): $(@PACKAGE@DLIB) $(@PACKAGE@O) $(@PACKAGE@DO) @MODULE@/module.mk
-ifndef ALIQUIET
-         @echo "***** Linking library $@ *****"
-endif
-         $(MUTE)rm -f $@; cd $(dir $@); ln -s $(notdir $(@PACKAGE@DLIB)) $(notdir $@)
-else
 $(@PACKAGE@LIB):$(@PACKAGE@O) $(@PACKAGE@DO) @MODULE@/module.mk
 ifndef ALIQUIET
          @echo "***** Linking library $@ *****"
 endif
-         \rm -f "$(CURDIR)"/$@ ;\
+         ${MUTE}\rm -f "$(CURDIR)"/$@ ;\
          cd $(@MODULE@DIRO) ;\
          $(SHLD) $(@PACKAGE@SOFLAGS) -o "$(CURDIR)"/$@ $(patsubst $(@MODULE@DIRO)/%,%,$(@PACKAGE@O) $(@PACKAGE@DO))  $(@PACKAGE@ELIBSDIR) $(@PACKAGE@ELIBS) $(SHLIB);\
          chmod a-w "$(CURDIR)"/$@ ;\
          cd $(ALICE_ROOT)
-endif
-
-ifneq ($(DYEXT),)
-$(@PACKAGE@DLIB):$(@PACKAGE@O) $(@PACKAGE@DO) @MODULE@/module.mk
-ifndef ALIQUIET
-         @echo "***** Linking library $@ *****"
-endif
-         \rm -f "$(CURDIR)"/$@ ;\
-         cd $(@MODULE@DIRO) ;\
-         $(DYLD) $(@PACKAGE@DYFLAGS) -o "$(CURDIR)"/$@ $(patsubst $(@MODULE@DIRO)/%,%,$(@PACKAGE@O) $(@PACKAGE@DO))  $(@PACKAGE@ELIBSDIR) $(@PACKAGE@ELIBS) $(DYLIB);\
-         chmod a-w "$(CURDIR)"/$@ ;\
-         cd $(ALICE_ROOT) 
-endif
 
 #------------------------------------------------------------------------
 
@@ -255,7 +213,7 @@ else
          $(MUTE)$(LD) $(@PACKAGE@LDFLAGS) $(@PACKAGE@O) $(@PACKAGE@DO) $(BINLIBDIRS) $(@PACKAGE@ELIBSDIR) $(@PACKAGE@ELIBS) $(@PACKAGE@BLIBS) $(EXEFLAGS) -o $@
 endif
 
-$(@PACKAGE@DAL): $(@PACKAGE@CINTHDRS) @MODULE@/module.mk @MODULE@/tgt_$(ALICE_TARGET)/@PACKAGE@_srcslist
+$(@PACKAGE@DAL): $(@PACKAGE@CINTHDRS) @MODULE@/module.mk
 ifndef ALIQUIET
         @echo "***** Creating $@ *****";
 endif
@@ -269,7 +227,12 @@ endif
           echo "#pragma link C++ class $(i)+;" >> $@ ;)
        $(MUTE)echo '#endif' >> $@
 
-$(@PACKAGE@DS): $(@PACKAGE@CINTHDRS) $(@PACKAGE@DH) @MODULE@/module.mk @MODULE@/tgt_$(ALICE_TARGET)/@PACKAGE@_srcslist
+ifneq ($(findstring solaris,$(ALICE_TARGET)),)
+# shameful hack....
+CINTFLAGS := $(filter-out -library=stlport4,$(CINTFLAGS))
+endif
+
+$(@PACKAGE@DS): $(@PACKAGE@CINTHDRS) $(@PACKAGE@DH) @MODULE@/module.mk
 ifndef ALIQUIET
         @echo "***** Creating $@ *****";
 endif
@@ -283,23 +246,11 @@ ifndef ALIQUIET
 endif
                $(MUTE)$(CXX) $(@PACKAGE@DEFINE) -c $(@PACKAGE@INC)  -I$(ALICE_ROOT) $< -o $@ $(@PACKAGE@DCXXFLAGS)
 
-$(MODDIRO)/@PACKAGE@_srcslist: @MODULE@/@TYPE@@PACKAGE@.pkg
-       $(MUTE)if [ ! -d '$(dir $@)' ]; then echo "***** Making directory $(dir $@) *****"; mkdir -p $(dir $@); fi
-       $(MUTE)for i in $(@PACKAGE@CS) $(@PACKAGE@S) xyz; do echo $$i; done | sort > $@.new
-       $(MUTE)for j in `diff -w $@ $@.new 2>/dev/null | awk '/^\</{sub(".c.*",".",$$2); print $$2}' | $(XARGS) basename` ;\
-       do grep -l $$j `find */tgt_$(ALICE_TARGET) -name "*.d"` | $(XARGS) echo \rm -f ;\
-       (find @MODULE@/tgt_$(ALICE_TARGET) -name "$${j}d" ; find @MODULE@/tgt_$(ALICE_TARGET) -name "$${j}o") | $(XARGS) echo \rm -f ;\
-       done
-       $(MUTE)diff -q -w >/dev/null 2>&1 $@ $@.new ;\
-       if [ $$? -ne 0 ]; then \mv $@.new $@; else \rm $@.new; fi
 
 #Different targets for the module
 
 ifeq ($(TYPE),lib)
 all-@MODULE@: $(@PACKAGE@LIB)
-ifneq ($(DYEXT),)
-all-@MODULE@: $(@PACKAGE@DLIB)
-endif
 else
 all-@MODULE@: $(@PACKAGE@BIN)
 endif
@@ -411,29 +362,27 @@ $(@PACKAGE@SML) : $(MODDIRZ)/%.smell : $(MODDIRZ)/%_cxx.ml $(MODDIRZ)/%_h.ml
 .SECONDARY: $(@PACKAGE@SML:.smell=_cxx.ml) $(@PACKAGE@SML:.smell=_h.ml)
 
 # targets to create .par archives (jgrosseo)
-@PACKAGE@.par: $(patsubst %,@MODULE@/@PACKAGE@/%,$(filter-out dict.%, $(HDRS) $(SRCS) $(DHDR) $(PKGFILE) Makefile Makefile.arch lib@PACKAGE@.pkg PROOF-INF))
+@PACKAGE@.par: $(patsubst %,par-build/@MODULE@/@PACKAGE@/%,$(filter-out dict.%, $(HDRS) $(SRCS) $(DHDR) $(PKGFILE) $(FSRCS) Makefile Makefile.arch lib@PACKAGE@.pkg PROOF-INF))
        @echo "Creating archive" $@ ...
-       @cd @MODULE@; tar cfzh /tmp/$@ @PACKAGE@
-       @rm -rf @MODULE@/@PACKAGE@
-       @echo "package" $@ "in /tmp/"$@
-       @echo $@ "done"
+       @cd par-build/@MODULE@; (tar --exclude=.svn -czhf ../../$@ @PACKAGE@ 2> /dev/null && echo "package" $@ "created in" $(PWD)/$@) || (tar --exclude=.svn -czhf /tmp/$@ @PACKAGE@ 2> /dev/null && echo "package" $@ "created in /tmp/"$@)
+       @rm -rf par-build/@MODULE@/@PACKAGE@
 
-@MODULE@/@PACKAGE@/Makefile: @MODULE@/Makefile
+par-build/@MODULE@/@PACKAGE@/Makefile: @MODULE@/Makefile
        @echo Copying $< to $@ with transformations
        @[ -d $(dir $@) ] || mkdir -p $(dir $@)
        @sed 's/include \$$(ROOTSYS)\/test\/Makefile.arch/include Makefile.arch/; s/PACKAGE = .*/PACKAGE = @PACKAGE@/' < $^ > $@
 
-@MODULE@/@PACKAGE@/Makefile.arch: $(ROOTSYS)/test/Makefile.arch
+par-build/@MODULE@/@PACKAGE@/Makefile.arch: $(ROOTSYS)/test/Makefile.arch
        @echo Copying $< to $@
        @[ -d $(dir $@) ] || mkdir -p $(dir $@)
        @cp -pR $^ $@
 
-@MODULE@/@PACKAGE@/PROOF-INF: @MODULE@/PROOF-INF.@PACKAGE@
+par-build/@MODULE@/@PACKAGE@/PROOF-INF: @MODULE@/PROOF-INF.@PACKAGE@
        @echo Copying $< to $@
        @[ -d $(dir $@) ] || mkdir -p $(dir $@)
        @cp -pR $^ $@
 
-@MODULE@/@PACKAGE@/%: @MODULE@/%
+par-build/@MODULE@/@PACKAGE@/%: @MODULE@/%
        @echo Copying $< to $@
        @[ -d $(dir $@) ] || mkdir -p $(dir $@)
        @cp -pR $< $@
@@ -441,6 +390,6 @@ $(@PACKAGE@SML) : $(MODDIRZ)/%.smell : $(MODDIRZ)/%_cxx.ml $(MODDIRZ)/%_h.ml
 test-@PACKAGE@.par: @PACKAGE@.par
        @echo "INFO: The file $< is now tested, in case of an error check in par-tmp/@PACKAGE@."
        @mkdir -p par-tmp
-       @cd par-tmp; tar xfz /tmp/$<;   cd $(subst .par,,$<); PROOF-INF/BUILD.sh
+       @cd par-tmp; tar xfz ../$<;     cd $(subst .par,,$<); PROOF-INF/BUILD.sh
        @rm -rf par-tmp/@PACKAGE@
        @echo "INFO: Testing succeeded (already cleaned up)"