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 6e62b73..415a61a 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 94f39c9..9bcd558 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 2d9922d..2135ea8 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 af39767..1a2db61 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 5b35035..1e91ee9 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 340b328..dcaa098 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 54b286a..0db5482 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 bd4ee8f..f39c5ad 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 4fbba24..844622e 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 c66449c..d540da6 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 bde6a83..d914e44 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 5315322..1ef65f8 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 3aaf50a..bf8785c 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 7918f8c..549043b 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 30e58a7..98591fe 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 42e85a3..1ca1197 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 13d4b5e..6b2e708 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 fcec7cc..88798e2 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 b3609e1..34be33b 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 0a009aa..5411f59 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 a466791..38ed748 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 6fbb9f2..52b142f 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 00ac2cf..3f05663 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 e7b0ef1..4aa1e8f 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 $^