Possibility to have different binaries in the same tree introduced
authorfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 30 Jun 1999 13:39:19 +0000 (13:39 +0000)
committerfca <fca@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 30 Jun 1999 13:39:19 +0000 (13:39 +0000)
24 files changed:
ALIROOT/Makefile
CASTOR/Makefile
EVGEN/AliGenCocktail.cxx
EVGEN/AliGenParam.cxx
EVGEN/AliGenPythia.cxx
EVGEN/Makefile
GEANT321/Makefile
ITS/Makefile
MINICERN/Makefile
MUON/Makefile
PDF/Makefile
PHOS/Makefile
PMD/Makefile
PYTHIA/Makefile
RICH/Makefile
STEER/Makefile
STRUCT/Makefile
TGeant3/Makefile
TOF/Makefile
TPC/Makefile
TRD/Makefile
ZDC/Makefile
conf/GeneralDef
conf/GeneralMacros

index 6e62b73f466319799a5511854a9acc29075baa1f..415a61a20e79373e340320e34b509334a37c4698 100644 (file)
@@ -27,7 +27,7 @@ FSRCS         = loadmod.F pydata.F ludata.F
 
 # FORTRAN Objectrs
 
-FOBJS          = $(FSRCS:.F=.o)
+FOBJS          = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Sources
 
@@ -35,7 +35,7 @@ CSRCS         = dummies.c
 
 # C Objects
 
-COBJS          = $(CSRCS:.c=.o
+COBJS          = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS)
 
 # C++ Sources
 
@@ -43,7 +43,7 @@ SRCS          = aliroot.cxx
 
 # C++ Objects
 
-OBJS           = $(SRCS:.cxx=.o) $(DICTO)
+OBJS           = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # Global Macros
 
@@ -62,13 +62,13 @@ FFLAGS              = $(FOPT)
  
 # Target
 
-PROGRAM                = $(ALICE_ROOT)/bin/aliroot
+PROGRAM                = $(BINDIR)/aliroot
 
 default:       $(PROGRAM)
 
 depend:                $(ALLSRCS)
 
-$(ALICE_ROOT)/bin/aliroot:     $(OBJS) $(COBJS) $(FOBJS)
+$(BINDIR)/aliroot:     $(OBJS) $(COBJS) $(FOBJS)
 
 LIBS = $(ALILIBS) $(G3LIBS) $(CLIBS) $(GLIBS) -lEG -lEGPythia -lpythia -lpdf
 
index 94f39c97b6b63d92ab8cceb0bda2d5a663d83f65..9bcd5584d2ad2cc697be349a64a1b9af4ecf3ae6 100644 (file)
@@ -19,7 +19,7 @@ HDRS          = $(SRCS:.cxx=.h) CASTORLinkDef.h
 
 DICT          = CASTORCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
@@ -27,11 +27,11 @@ FOBJS         = $(FSRCS:.f=.o)
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -45,12 +45,12 @@ FFLAGS      = $(FOPT)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libCASTOR.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libCASTOR.a
+SLIBRARY       = $(LIBDIR)/libCASTOR.$(SL)
+ALIBRARY       = $(LIBDIR)/libCASTOR.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libCASTOR.$(SL):             $(OBJS)
+$(LIBDIR)/libCASTOR.$(SL):             $(OBJS)
 
 $(DICT):                               $(HDRS)
 
index 2d9922d5dc8f85cb7e0a4a4fb4db61ee2b83bc00..2135ea8cfbf2535111cc84d5e1f655c5ea4ada81 100644 (file)
@@ -1,6 +1,5 @@
 #include "AliGenerator.h"
 #include "AliGenCocktail.h"
-#include "TGeant3.h"
 #include "AliRun.h"
 #include <TDirectory.h>
 #include <TFile.h>
index af39767a76ac838760971037dff6b20d3c643177..1a2db61284876ba6c0020c0471b9117310ffcc9a 100644 (file)
@@ -1,7 +1,6 @@
 #include "AliGenParam.h"
 #include "AliGenMUONlib.h"
 #include "AliRun.h"
-#include "TGeant3.h"
 #include "AliPythia.h"
 #include <TDirectory.h>
 #include <TFile.h>
index 5b35035b427b6170f79f4127f52763bb8296b243..1e91ee98417dd5d887e2174a05c8510caf3dc4c4 100644 (file)
@@ -1,6 +1,5 @@
 #include "AliGenerator.h"
 #include "AliGenPythia.h"
-#include "TGeant3.h"
 #include "AliRun.h"
 #include "AliPythia.h"
 #include <TDirectory.h>
index 340b32889178cd1ace6e1e79e884ef9417b12229..dcaa09800398c68738b362a75bda31efc7fdddb2 100644 (file)
@@ -21,19 +21,19 @@ HDRS          = $(SRCS:.cxx=.h) EVGENLinkDef.h
 
 DICT          = EVGENCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.F=.o)
+FOBJS         = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -47,12 +47,12 @@ FFLAGS      = $(FOPT)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libEVGEN.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libEVGEN.a
+SLIBRARY       = $(LIBDIR)/libEVGEN.$(SL)
+ALIBRARY       = $(LIBDIR)/libEVGEN.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libEVGEN.$(SL):              $(OBJS)
+$(LIBDIR)/libEVGEN.$(SL):              $(OBJS)
 
 $(DICT):                               $(HDRS)
 
index 54b286a4954f3b73749b1b8b339a278fdd116021..0db54824108f8c443598f58290cc85887d2771ef 100644 (file)
@@ -23,17 +23,17 @@ GCSRC       = $(wildcard $(patsubst %,%/*.c,$(GDIRS)))
 GCXXSRC        = $(wildcard $(patsubst %,%/*.cxx,$(GDIRS))) 
 
 GSRC   = $(GFSRC) $(GCSRC)
-GFOBJ  = $(GFSRC:.F=.o)
-GCOBJ  = $(GCSRC:.c=.o)
-GCXXOBJ        = $(GCXXSRC:.cxx=.o)
+GFOBJ  = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(GFSRC))
+GCOBJ  = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(GCSRC))
+GCXXOBJ        = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(GCXXSRC))
 GOBJ   = $(GFOBJ) $(GCOBJ) $(GCXXOBJ)
 
 XFSRC  = $(wildcard $(patsubst %,%/*.F,$(XDIRS))) 
 XCSRC  = $(wildcard $(patsubst %,%/*.c,$(XDIRS))) 
 
 XSRC   = $(XFSRC) $(XCSRC) $(XCXXSRC)
-XFOBJ  = $(XFSRC:.F=.o)
-XCOBJ  = $(XCSRC:.c=.o)
+XFOBJ  = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(XFSRC))
+XCOBJ  = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(XCSRC))
 XOBJ   = $(XFOBJ) $(XCOBJ) $(XCXXOBJ)
 
 SRCS   = $(GSRC) $(XSRC)
@@ -60,8 +60,8 @@ FFLAGS      = $(FOPT) $(CLIBFOPT) $(CLIBDEFS) -I.
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libgeant321.$(SL) $(ALICE_ROOT)/lib/libgxint321.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libgeant321.a $(ALICE_ROOT)/lib/libgxint321.a
+SLIBRARY       = $(LIBDIR)/libgeant321.$(SL) $(LIBDIR)/libgxint321.$(SL)
+ALIBRARY       = $(LIBDIR)/libgeant321.a $(LIBDIR)/libgxint321.a
 
 ifeq ($(PLATFORM),alpha)
         default:       $(ALIBRARY)
@@ -69,8 +69,8 @@ else
         default:       $(SLIBRARY)
 endif
 
-$(ALICE_ROOT)/lib/libgeant321.$(SL) $(ALICE_ROOT)/lib/libgeant321.a:  $(GOBJ)
-$(ALICE_ROOT)/lib/libgxint321.$(SL) $(ALICE_ROOT)/lib/libgxint321.$(SL):  $(XOBJ)
+$(LIBDIR)/libgeant321.$(SL) $(LIBDIR)/libgeant321.a:  $(GOBJ)
+$(LIBDIR)/libgxint321.$(SL) $(LIBDIR)/libgxint321.$(SL):  $(XOBJ)
 
 depend:                        $(SRCS)
 
index bd4ee8f99336b25cf77451f31a4d59d674521901..f39c5adb3d8f1dfaee70ff3f3f640ca43bb9b46a 100644 (file)
@@ -23,19 +23,19 @@ HDRS          = $(SRCS:.cxx=.h) ITSLinkDef.h
 
 DICT          = ITSCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.F=.o)
+FOBJS         = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -49,12 +49,12 @@ FFLAGS      = $(FOPT) -I$(ALICE_ROOT)/GEANT321
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libITS.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libITS.a
+SLIBRARY       = $(LIBDIR)/libITS.$(SL)
+ALIBRARY       = $(LIBDIR)/libITS.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libITS.$(SL):        $(OBJS) $(FOBJS)
+$(LIBDIR)/libITS.$(SL):                $(OBJS)
 
 $(DICT):                       $(HDRS)
 
index 4fbba240398c843d9e628f7d78cb99d1b67e9df9..844622efd57195c0413a31775c24ab407a80aae6 100644 (file)
@@ -33,6 +33,7 @@ FSRCS = dummies.F hbcdf.F fzdummies.F \
          mathlib/gen/d/gauss.F \
          mathlib/gen/d/gauss128.F \
          mathlib/gen/d/gauss64.F \
+         mathlib/gen/g/prob.F \
          mathlib/gen/n/mtlprt.F \
          mathlib/gen/n/mtlset.F \
          mathlib/gen/v/ranlux.F \
@@ -272,9 +273,9 @@ endif
 
 CXXSRC =
 
-FOBJ   = $(FSRC:.F=.o)
-COBJ   = $(CSRC:.c=.o)
-CXXOBJ = $(CXXSRC:.cxx=.o)
+FOBJ   = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRC))
+COBJ   = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRC))
+CXXOBJ = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(CXXSRC))
 
 SRCS   = $(FSRC) $(CSRC) $(CXXSRC)
 OBJS   = $(FOBJ) $(COBJ) $(CXXOBJ)
@@ -283,8 +284,8 @@ OBJS        = $(FOBJ) $(COBJ) $(CXXOBJ)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libminicern.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libminicern.a
+SLIBRARY       = $(LIBDIR)/libminicern.$(SL)
+ALIBRARY       = $(LIBDIR)/libminicern.a
 
 ifeq ($(PLATFORM),alpha)
         default:       $(ALIBRARY)
@@ -292,8 +293,8 @@ else
         default:       $(SLIBRARY)
 endif
 
-$(ALICE_ROOT)/lib/libminicern.$(SL):  $(OBJS)
-$(ALICE_ROOT)/lib/libminicern.a:  $(OBJS)
+$(LIBDIR)/libminicern.$(SL):  $(OBJS)
+$(LIBDIR)/libminicern.a:  $(OBJS)
 
 depend:                        $(SRCS)
 
index c66449c3afaa80e88de4e51a651b7e9dbce41ef5..d540da6444081d623acbb8cae0e3eb9c29b3b67a 100644 (file)
@@ -20,7 +20,7 @@ HDRS          = $(SRCS:.cxx=.h) AliMUONConst.h MUONLinkDef.h
 
 DICT          = MUONCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # Fortran sources
 
@@ -28,15 +28,15 @@ FSRCS             = algo.F
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.F=.o)
+FOBJS         = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -50,12 +50,12 @@ FFLAGS      = $(FOPT)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libMUON.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libMUON.a
+SLIBRARY       = $(LIBDIR)/libMUON.$(SL)
+ALIBRARY       = $(LIBDIR)/libMUON.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libMUON.$(SL):       $(OBJS) $(FOBJS)
+$(LIBDIR)/libMUON.$(SL):       $(OBJS) $(FOBJS)
 
 $(DICT):                       $(HDRS)
 
index bde6a834f74bb3ef24806c11a6051e3345e4c2b6..d914e4448be31747895cec3c84ba89a500febbdb 100644 (file)
@@ -13,7 +13,7 @@ SRCS          =
 
 FSRCS  = $(wildcard spdf/*.F)
 
-FOBJS  = $(FSRCS:.F=.o)
+FOBJS  = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 SRCS   = $(FSRCS)
 OBJS   = $(FOBJS)
@@ -32,12 +32,12 @@ FFLAGS      = $(FOPT) $(CLIBFOPT) $(CLIBDEFS) -I.
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libpdf.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libpdf.a
+SLIBRARY       = $(LIBDIR)/libpdf.$(SL)
+ALIBRARY       = $(LIBDIR)/libpdf.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libpdf.$(SL):  $(OBJS)
+$(LIBDIR)/libpdf.$(SL):  $(OBJS)
 
 depend:                        $(SRCS)
 
index 531532206aa070bc58988832a89b8c25ed830813..1ef65f84cd0ec8e85fcbb7cfb193b0da1baf83e9 100644 (file)
@@ -19,7 +19,7 @@ HDRS          = $(SRCS:.cxx=.h) PHOSLinkDef.h
 
 DICT          = PHOSCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN sources
 
@@ -27,15 +27,15 @@ FSRCS = AliPHOSf.F AliPHOScommon.F
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.F=.o)
+FOBJS         = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -48,13 +48,13 @@ FFLAGS      = $(FOPT)
 ##### Other Libraries #####
 
 SHSRCS  = $(wildcard shaker/*.f)
-SHOBJS  = $(SHSRCS:.f=.o)
+SHOBJS  = $(patsubst %.f,$(ALICE_TARGET)/%.o,$(SHSRCS))
 
-RCSRCS  = $(wildcard reconstruction/*.f) $(wildcard utils/*.cxx) $(wildcard utils/*.f) 
-RCOBJS  = $(patsubst %.f,%.o,$(patsubst %.cxx,%.o,$(RCSRCS))) 
+RCSRCS  = $(wildcard reconstruction/*.f)  
+RCOBJS  = $(patsubst %.f,$(ALICE_TARGET)/%.o,$(RCSRCS))
 
 DUSRCS = libPHOSdummy.cxx
-DUOBJS = $(DUSRCS:.cxx=.o)
+DUOBJS = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DUSRCS))
 
 ALSRCS  = $(SRCS) $(SHSRCS) $(RCSRCS) $(DUSRCS) dummies.c
 
@@ -62,18 +62,18 @@ ALOBJS  = $(SHOBJS) $(RCOBJS) $(DUOBJS)
 
 ##### COMMANDS ##### 
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libPHOSdummy.$(SL) $(ALICE_ROOT)/lib/libPHOSshaker.$(SL) \
-                  $(ALICE_ROOT)/lib/libPHOSreconstruction.$(SL) $(ALICE_ROOT)/lib/libPHOS.$(SL)
+SLIBRARY       = $(LIBDIR)/libPHOSdummy.$(SL) $(LIBDIR)/libPHOSshaker.$(SL) \
+                  $(LIBDIR)/libPHOSreconstruction.$(SL) $(LIBDIR)/libPHOS.$(SL)
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libPHOSdummy.$(SL):          $(DUOBJS)
+$(LIBDIR)/libPHOSdummy.$(SL):          $(DUOBJS)
 
-$(ALICE_ROOT)/lib/libPHOSshaker.$(SL):         $(SHOBJS)
+$(LIBDIR)/libPHOSshaker.$(SL):         $(SHOBJS)
 
-$(ALICE_ROOT)/lib/libPHOSreconstruction.$(SL): $(RCOBJS)
+$(LIBDIR)/libPHOSreconstruction.$(SL): $(RCOBJS)
 
-$(ALICE_ROOT)/lib/libPHOS.$(SL):                       $(OBJS) $(FOBJS)
+$(LIBDIR)/libPHOS.$(SL):                       $(OBJS) $(FOBJS)
 
 $(DICT):                                       $(HDRS)
 
index 3aaf50a3a33b4ccc98abe8249a9252cd27d0fcaa..bf8785c4a3423f4627c5e0ea4ef8ccc1eaba9716 100644 (file)
@@ -19,19 +19,19 @@ HDRS          = $(SRCS:.cxx=.h) PMDLinkDef.h
 
 DICT          = PMDCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.f=.o)
+FOBJS         = $(patsubst %.f,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -45,12 +45,12 @@ FFLAGS      = $(FOPT)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libPMD.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libPMD.a
+SLIBRARY       = $(LIBDIR)/libPMD.$(SL)
+ALIBRARY       = $(LIBDIR)/libPMD.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libPMD.$(SL):        $(OBJS)
+$(LIBDIR)/libPMD.$(SL):        $(OBJS)
 
 $(DICT):                       $(HDRS)
 
index 7918f8cedd80a85c67e5701876285e1ba653ea4a..549043b507ecb57dd173906124f4c6ef2c728a61 100644 (file)
@@ -15,14 +15,14 @@ SRCS          =
 FSRCS  = $(filter-out %pdfset.F,$(filter-out %structm.F,$(wildcard pythia/*.F))) \
           $(wildcard jetset/*.F)
 
-FOBJS  = $(FSRCS:.F=.o)
+FOBJS  = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 SRCS   = $(FSRCS)
 OBJS   = $(FOBJS)
 
 DSRCS  = dummypythia.F
 
-DOBJS  = $(DSRCS:.F=.o)
+DOBJS  = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(DSRCS))
 
 # C++ compilation flags
 
@@ -40,13 +40,13 @@ FFLAGS      = $(FOPT) $(CLIBFOPT) $(CLIBDEFS)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libpythia.$(SL) $(ALICE_ROOT)/lib/libdummypythia.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libpythia.a
+SLIBRARY       = $(LIBDIR)/libpythia.$(SL) $(LIBDIR)/libdummypythia.$(SL)
+ALIBRARY       = $(LIBDIR)/libpythia.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libpythia.$(SL):  $(OBJS)
-$(ALICE_ROOT)/lib/libdummypythia.$(SL):  $(DOBJS)
+$(LIBDIR)/libpythia.$(SL):  $(OBJS)
+$(LIBDIR)/libdummypythia.$(SL):  $(DOBJS)
 
 depend:                        $(SRCS) $(DSRCS)
 
index 30e58a7a9892ef5fde85fcbe1eac44246c82dfeb..98591fec11bf0c36d66a9079e7da1530e7324272 100644 (file)
@@ -19,23 +19,26 @@ HDRS          = $(SRCS:.cxx=.h) RICHLinkDef.h
 
 DICT          = RICHCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.f=.o)
+FOBJS         = $(patsubst %.f,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
 CXXFLAGS      = $(CXXOPTS) -I$(ROOTSYS)/include -I. -I$(ALICE_ROOT)/include/
+
+CXXFLAGS      += -I$(ALICE_ROOT)/TGeant3
+DEPINC        += -I$(ALICE_ROOT)/TGeant3
  
 # FORTRAN compilation flags
 
@@ -45,12 +48,12 @@ FFLAGS      = $(FOPT)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libRICH.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libRICH.a
+SLIBRARY       = $(LIBDIR)/libRICH.$(SL)
+ALIBRARY       = $(LIBDIR)/libRICH.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libRICH.$(SL):               $(OBJS)
+$(LIBDIR)/libRICH.$(SL):               $(OBJS)
 
 $(DICT):                               $(HDRS)
 
index 42e85a35528660e91e45ad260eaed6f5b9485cdb..1ca11970c7fb53c9a8d264e255e8f8ca73c18744 100644 (file)
@@ -23,19 +23,19 @@ HDRS          = $(SRCS:.cxx=.h) AliPDG.h STEERLinkDef.h
 
 DICT          = STEERCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.f=.o)
+FOBJS         = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -49,12 +49,12 @@ FFLAGS      = $(FOPT)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libSTEER.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libSTEER.a
+SLIBRARY       = $(LIBDIR)/libSTEER.$(SL)
+ALIBRARY       = $(LIBDIR)/lib/libSTEER.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libSTEER.$(SL):              $(OBJS)
+$(LIBDIR)/libSTEER.$(SL):              $(OBJS)
 
 $(DICT):                               $(HDRS)
 
index 13d4b5ed20808409f70677a9316de8391b993f99..6b2e7080b1a8729cb1dd94c429163ecc7d02686c 100644 (file)
@@ -24,19 +24,19 @@ HDRS          = $(SRCS:.cxx=.h) STRUCTLinkDef.h
 
 DICT          = STRUCTCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.f=.o)
+FOBJS         = $(patsubst %.f,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -50,12 +50,12 @@ FFLAGS      = $(FOPT)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libSTRUCT.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libSTRUCT.a
+SLIBRARY       = $(LIBDIR)/libSTRUCT.$(SL)
+ALIBRARY       = $(LIBDIR)/libSTRUCT.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libSTRUCT.$(SL):             $(OBJS)
+$(LIBDIR)/libSTRUCT.$(SL):             $(OBJS)
 
 $(DICT):                               $(HDRS)
 
index fcec7cc9629eb68023418d0a6817cfb3753fec11..88798e2cae1b1f15fd5e76c0bf0c0f70fe0dbc7b 100644 (file)
@@ -23,23 +23,23 @@ GHDRS          = $(filter-out gucode.h,$(GSRCS:.cxx=.h)) TGeant3LinkDef.h
 
 GDICT          = TGeant3Cint.cxx
 GDICTH         = $(GDICT:.cxx=.h)
-GDICTO         = $(GDICT:.cxx=.o)
+GDICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(GDICT))
 
 # Geant Objects
 
-GOBJS          = $(GSRCS:.cxx=.o) $(FOBJS) $(GDICTO)
+GOBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(GSRCS)) $(FOBJS) $(GDICTO)
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.F=.o)
+FOBJS         = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # Dummy Geant321 class
 
@@ -55,16 +55,16 @@ DHDRS          = TGeant3.h TGeant3LinkDef.h
 
 DDICT          = TGeant3DummyCint.cxx
 DDICTH         = $(DDICT:.cxx=.h)
-DDICTO         = $(DDICT:.cxx=.o)
+DDICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DDICT))
 
 # Geant Objects
 
-DOBJS          = $(DSRCS:.cxx=.o) $(DDICTO)
+DOBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DSRCS)) $(DDICTO)
 
 # Dummy Routines in Geant321
 
 JSRCS          = G3Dummy.cxx
-JOBJS          = G3Dummy.o
+JOBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(JSRCS))
 
 # C++ compilation flags
 
@@ -78,18 +78,18 @@ FFLAGS      = $(FOPT) -I$(ALICE_ROOT)/GEANT321
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libTGeant3.$(SL) \
-                 $(ALICE_ROOT)/lib/libG3Dummy.$(SL) \
-                 $(ALICE_ROOT)/lib/libTGeant3Dummy.$(SL) 
-ALIBRARY       = $(ALICE_ROOT)/lib/libTGeant3.a
+SLIBRARY       = $(LIBDIR)/libTGeant3.$(SL) \
+                 $(LIBDIR)/libG3Dummy.$(SL) \
+                 $(LIBDIR)/libTGeant3Dummy.$(SL) 
+ALIBRARY       = $(LIBDIR)/libTGeant3.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libTGeant3.$(SL):            $(GOBJS)
+$(LIBDIR)/libTGeant3.$(SL):            $(GOBJS)
 
-$(ALICE_ROOT)/lib/libG3Dummy.$(SL):            $(JOBJS)
+$(LIBDIR)/libG3Dummy.$(SL):            $(JOBJS)
 
-$(ALICE_ROOT)/lib/libTGeant3Dummy.$(SL):       $(DOBJS)
+$(LIBDIR)/libTGeant3Dummy.$(SL):       $(DOBJS)
 
 $(GDICT):                              $(GHDRS)
 
@@ -99,8 +99,6 @@ DICT  =               $(GDICT) $(DDICT)
 
 DEPINC += -I$(ALICE_ROOT)/GEANT321
 
-HEADERS        =       $(filter-out %LinkDef.h,$(GHDRS))
-
 depend:                        $(GSRCS) $(FSRCS)
 
 TOCLEAN                = $(GOBJS) $(JOBJS) $(DOBJS) *Cint.cxx *Cint.h
index b3609e19b861ac05101871cbfdbddce139f638ee..34be33b0962982792c39c765a5e62b3f1038646b 100644 (file)
@@ -19,19 +19,19 @@ HDRS          = $(SRCS:.cxx=.h) TOFLinkDef.h
 
 DICT          = TOFCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.f=.o)
+FOBJS         = $(patsubst %.f,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -45,12 +45,12 @@ FFLAGS      = $(FOPT)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libTOF.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libTOF.a
+SLIBRARY       = $(LIBDIR)/libTOF.$(SL)
+ALIBRARY       = $(LIBDIR)/libTOF.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libTOF.$(SL):        $(OBJS)
+$(LIBDIR)/libTOF.$(SL):        $(OBJS)
 
 $(DICT):                       $(HDRS)
 
index 0a009aa83ba6565a85cb330883df784037120c66..5411f5942a96be028c38ca68c7f69a7699883f04 100644 (file)
@@ -20,7 +20,7 @@ HDRS          = $(SRCS:.cxx=.h) AliTPCSecGeo.h TPCLinkDef.h
 
 DICT          = TPCCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
@@ -32,7 +32,7 @@ COBJS         = $(CSRCS:.c=.o)
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -46,11 +46,11 @@ FFLAGS      = $(FOPT)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libTPC.$(SL)
+SLIBRARY       = $(LIBDIR)/libTPC.$(SL)
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libTPC.$(SL):  $(OBJS)
+$(LIBDIR)/libTPC.$(SL):  $(OBJS)
 
 $(DICT):               $(HDRS)
 
index a46679156f889c79509b51fa7c62d30d2b23e299..38ed748decb08a27f692026fdfdc6a591238a788 100644 (file)
@@ -21,19 +21,19 @@ HDRS          = $(SRCS:.cxx=.h) TRDLinkDef.h
 
 DICT          = TRDCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.f=.o)
+FOBJS         = $(patsubst %.f,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS))
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # C++ compilation flags
 
@@ -47,12 +47,12 @@ FFLAGS      = $(FOPT)
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libTRD.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libTRD.a
+SLIBRARY       = $(LIBDIR)/libTRD.$(SL)
+ALIBRARY       = $(LIBDIR)/libTRD.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libTRD.$(SL):        $(OBJS)
+$(LIBDIR)/libTRD.$(SL):        $(OBJS)
 
 TRDCint.cxx:                   $(HDRS)
 
index 6fbb9f2faea5f9123cb3da774156c69de97b85f8..52b142f3dbe2ece040da52a5fec0394e918ec287 100644 (file)
@@ -27,19 +27,19 @@ HDRS          = $(SRCS:.cxx=.h) ZDCLinkDef.h
 
 DICT          = ZDCCint.cxx
 DICTH         = $(DICT:.cxx=.h)
-DICTO         = $(DICT:.cxx=.o)
+DICTO         = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(DICT))
 
 # FORTRAN Objectrs
 
-FOBJS         = $(FSRCS:.F=.o)
+FOBJS         = $(patsubst %.F,$(ALICE_TARGET)/%.o,$(FSRCS))
 
 # C Objects
 
-COBJS         = $(CSRCS:.c=.o)
+COBJS         = $(patsubst %.c,$(ALICE_TARGET)/%.o,$(CSRCS)
 
 # C++ Objects
 
-OBJS          = $(SRCS:.cxx=.o) $(DICTO)
+OBJS          = $(patsubst %.cxx,$(ALICE_TARGET)/%.o,$(SRCS)) $(DICTO)
 
 # Global Macros
 
@@ -57,12 +57,12 @@ FFLAGS      = $(FOPT) -I$(ALICE_ROOT)/GEANT321
  
 # Target
 
-SLIBRARY       = $(ALICE_ROOT)/lib/libZDC.$(SL)
-ALIBRARY       = $(ALICE_ROOT)/lib/libZDC.a
+SLIBRARY       = $(LIBDIR)/libZDC.$(SL)
+ALIBRARY       = $(LIBDIR)/libZDC.a
 
 default:       $(SLIBRARY)
 
-$(ALICE_ROOT)/lib/libZDC.$(SL):        $(OBJS) $(FOBJS)
+$(LIBDIR)/libZDC.$(SL):        $(OBJS) $(FOBJS)
 
 $(DICT):                       $(HDRS)
 
index 00ac2cf657f7c149dbb2c3b7f4cf198033d09091..3f056637cf8768cbf66ab421401605e94d8b9d47 100644 (file)
@@ -1,15 +1,31 @@
 ##### RULES #####
  
-.SUFFIXES: .cxx
+.SUFFIXES: .cxx .h
+
+$(ALICE_ROOT)/include/%.h : %.h
+       @[ -d $(dir $@) ] || mkdir $(dir $@)
+       @cp -p $? $(ALICE_ROOT)/include
  
-.cxx.o:
-       @$(CXX) $(CXXFLAGS) -c $*.cxx -o $*.o
-.c.o:
-       @$(CC) $(CFLAGS) -c $*.c -o $*.o
-.f.o:
-       @$(F77) $(FFLAGS) -c $*.f -o $*.o
-.F.o:
-       @$(F77) $(FFLAGS) -c $*.F -o $*.o
+$(ALICE_TARGET)/%.o : %.cxx
+       @[ -d $(dir $@) ] || mkdir -p $(dir $@)
+       @$(CXX) $(CXXFLAGS) -c $*.cxx -o $(ALICE_TARGET)/$*.o
+
+$(ALICE_TARGET)/%.o : %.c
+       @[ -d $(dir $@) ] || mkdir -p $(dir $@)
+       @$(CC) $(CFLAGS) -c $*.c -o $(ALICE_TARGET)/$*.o
+
+$(ALICE_TARGET)/%.o : %.f
+       @[ -d $(dir $@) ] || mkdir -p $(dir $@)
+       @$(F77) $(FFLAGS) -c $*.f -o $(ALICE_TARGET)/$*.o
+
+$(ALICE_TARGET)/%.o : %.F
+       @[ -d $(dir $@) ] || mkdir -p $(dir $@)
+       @$(F77) $(FFLAGS) -c $*.F -o $(ALICE_TARGET)/$*.o
+
+# Needed binary directories
+LIBDIR = $(ALICE_ROOT)/lib/$(ALICE_TARGET)
+BINDIR = $(ALICE_ROOT)/bin/$(ALICE_TARGET)
+
 
 # Current Version
 
@@ -26,7 +42,7 @@ ROOTLIBS      = -L$(ROOTSYS)/lib -lBase -lCint -lClib -lCont -lFunc -lGraf \
 
 # Alice libraries
 
-ALILIBS              = -L$(ALICE_ROOT)/lib -lMUON -lTPC -lPMD -lTRD -lFMD -lTOF \
+ALILIBS              = -L$(LIBDIR) -lMUON -lTPC -lPMD -lTRD -lFMD -lTOF \
                 -lITS -lPHOSdummy -lPHOS -lCASTOR -lRICH -lZDC -lSTRUCT \
                 -lTGeant3 -lEVGEN -lSTEER
 
@@ -39,4 +55,3 @@ ROOTGLIBS     = -lGpad -lGui -lGX11 -lX3d  -lXpm
 CLIBS         = -lminicern
 G3LIBS        = -lgeant321
 
index e7b0ef16c004ae4f965d19d214d787fee80423e8..4aa1e8f4f4c3dd6fa0fe15cc574af9d485f182f9 100644 (file)
@@ -2,33 +2,33 @@
 
 $(SLIBRARY):
                @echo "Generating $@ for $(PACKAGE)..."
+               @[ -d $(dir $@) ] || mkdir $(dir $@)
                @rm -f $@
                 ifeq ($(PLATFORM),aix)
-                  @$(SHLD) -o $@ $(LIBS) -p 0 $^
+                  @$(SHLD) -o $@ $(LIBS) -p 0 $(filter-out dirs,$^)
                 else
-                  @$(SHLD) $(SOFLAGS) $(LDFLAGS) $^ $(SHLIB) -o $@
+                  @$(SHLD) $(SOFLAGS) $(LDFLAGS) $(filter-out dirs,$^) $(SHLIB) -o $@
                 endif
                @chmod 555 $@
                @echo "$@ done"
 
 
-$(ALIBRARY):
+$(ALIBRARY):   
                @echo "Generating $@ for $(PACKAGE)..."
+               @[ -d $(dir $@) ] || mkdir $(dir $@)
                @rm -f $@
                @ar rv $@ $^
                @echo "$@ done"
  
-$(PROGRAM):
+$(PROGRAM):    
                @echo "Generating $@ for $(PACKAGE)..."
+               @[ -d $(dir $@) ] || mkdir $(dir $@)
                @rm -f $@
                @$(LD) $(LDFLAGS) $^ $(LIBS) -o $@
                @echo "$@ done"
  
 headers:       $(patsubst %,$(ALICE_ROOT)/include/%,$(HEADERS))
 
-$(patsubst %,$(ALICE_ROOT)/include/%,$(HEADERS)) : $(ALICE_ROOT)/include/% : %
-               @cp -p $^ $@
-
 $(DICT):
                @echo "Generating $@ for $(PACKAGE)..."
                @rootcint -f $@ -c -I$(ALICE_ROOT)/include $^