--- DarthVader/CalorimeterLevel2/Makefile	2006/05/23 08:35:43	1.2
+++ DarthVader/CalorimeterLevel2/Makefile	2009/07/27 13:47:41	1.42
@@ -1,6 +1,6 @@
 # Calorimeter flight analysis software 
 # SOFTWARE VERSION
-VER= v3r04
+VER= v6r00
 # An almost general purpouse Makefile for PAMELA repository
 # Let's start with some usefull definition for colorize the echo 
 RED='\E[1;31;40m'
@@ -23,20 +23,26 @@
 # Here the variables used to override the standard make flags
 # C
 CC=gcc
-#CFLAGS=-Wall -O -fPIC -pthread -g
-CFLAGS=-Wall -O -fPIC -pthread
+#CFLAGS=-Wall -O -fPIC -pthread -g ${PAM_BIT} 
+CFLAGS=-Wall -O3 -funroll-loops -fPIC -pthread ${PAM_BIT} 
+#CFLAGS=-Wall -O4 -fPIC -pthread ${PAM_BIT} 
 # Enviroment:
 GCCVER=`gcc --version | head -1`
 UNAMEA=`uname -a`
 TODAY=`date`
 # F77
 F77=g77
-#F77FLAGS=  -Wall -Wno-globals -fvxt -fno-automatic -fbounds-check -g -extend_source -static -fno-backslash
-F77FLAGS=  -Wall -Wno-globals -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash
+#F77FLAGS=  -Wall -Wno-globals -fvxt -fno-automatic -fbounds-check -g -extend_source -static -fno-backslash ${PAM_BIT} 
+#F77FLAGS= -fforce-addr -funroll-all-loops -ffinite-math-only -Wall -funroll-loops -Wno-globals -fPIC -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash ${PAM_BIT} 
+F77FLAGS= -O1 -fforce-addr -funroll-all-loops -ffinite-math-only -Wall -funroll-loops -Wno-globals -fPIC -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash ${PAM_BIT} 
+#F77FLAGS= -g -fforce-addr -funroll-all-loops -ffinite-math-only -Wall -funroll-loops -Wno-globals -fPIC -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash ${PAM_BIT} 
+#F77FLAGS= -Wall -Wno-globals -fPIC -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash ${PAM_BIT} 
 # C++
 CXX=g++
-#CXXFLAGS=-Wall -O -fPIC -pthread -g
-CXXFLAGS=-Wall -O -fPIC -pthread
+#CXXFLAGS=-Wall -O -fPIC -pthread -g ${PAM_BIT} 
+CXXFLAGS=-Wall -O3 -funroll-loops -fPIC -pthread ${PAM_BIT} 
+#CXXFLAGS=-Wall -g -funroll-loops -fPIC -pthread ${PAM_BIT} 
+#CXXFLAGS=-Wall -fPIC -pthread ${PAM_BIT} 
 # ROOTCINT
 ROOTCINT=rootcint
 # Here the variables definig the local directories
@@ -61,8 +67,10 @@
       ${DIRSRC}/nshower.for \
       ${DIRSRC}/nointer.for \
       ${DIRSRC}/elio.for \
+      ${DIRSRC}/nuclei.for \
       ${DIRSRC}/cluster.for \
       ${DIRSRC}/cluster2.for \
+      ${DIRSRC}/cluster4.for \
       ${DIRSRC}/laterale.for \
       ${DIRSRC}/baric.for \
       ${DIRSRC}/selftrig.for \
@@ -79,18 +87,21 @@
 COBJS=$(CSRCS:${DIRSRC}%.c=${DIRLIB}%.o)
 
 # -- CPP - ROOT libraries --
-LIBROOTSRCS=${DIRSRC}/CaloLevel2.cpp 
+LIBROOTSRCS=${DIRSRC}/CaloLevel0.cpp \
+	    ${DIRSRC}/CaloLevel1.cpp \
+	    ${DIRSRC}/CaloLevel2.cpp
 
 LIBROOTLIBS=$(LIBROOTSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)
-LIBROOTCLIBS=libCaloLevel2 
+#LIBROOTOBJS=${DIRLIB}/millim.o 
+LIBROOTOBJS=${FOBJS} ${COBJS}
+LIBROOTCLIBS=libCaloLevel2 libCaloLevel1 libCaloLevel0
 FULLROOTCLIBS=$(LIBROOTCLIBS:%=${DIRLIB}/%_${VER}.so)
 
 # -- CPP - NON-ROOT libraries --
-LIBCPPSRCS=${DIRSRC}/CaloProcessing.cpp \
-	   ${DIRSRC}/CaloCore.cpp \
+LIBCPPSRCS=${DIRSRC}/CaloCore.cpp \
 	   ${DIRSRC}/CaloVerl2.cpp
 LIBCPPLIBS=$(LIBCPPSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)
-LIBCPPCLIBS=libCaloProcessing libCaloCore libCaloVerl2
+LIBCPPCLIBS=libCaloCore libCaloVerl2
 FULLLIBCPPLIBS=$(LIBCPPCLIBS:%=${DIRLIB}/%_${VER}.so)
 
 # -- CPP - Executables --
@@ -99,10 +110,10 @@
 CXXEXELIBS:=CalorimeterLevel2
 
 # -- list of tracker objects needed to link
-TRKOBJS=${DIRLIB}/libTrkLevel2.so ${DIRLIB}/libGLTables.so ${DIRLIB}/libRunInfo.so
+TRKOBJS=${DIRLIB}/libTrkLevel2.so ${PAM_LIB}/libGLTables.so ${DIRLIB}/libRunInfo.so
 
 # -- directory where to find tracker headers needed to compile
-SUBDIR=../GLTables ../RunInfo ../TrackerLevel2
+SUBDIR=../RunInfo ../TrackerLevel2
 SUBINC=$(shell for dir in `echo ${SUBDIR}`; do echo -I$${dir}/inc; done)
 
 # List of all libraries we want to install
@@ -111,7 +122,7 @@
 # Other objects to install
 EXESRCS=${DIRBIN}/CalorimeterLevel2
 
-INCSRCS=${DIRINC}/CaloLevel2.h ${DIRINC}/CaloProcessing.h ${DIRINC}/CaloCore.h
+INCSRCS=${DIRINC}/CaloLevel0.h ${DIRINC}/CaloLevel1.h ${DIRINC}/CaloLevel2.h ${DIRINC}/CaloStruct.h ${DIRINC}/CaloCore.h ${DIRINC}/INTEST.TXT
 
 MACROSSRCS=
 
@@ -152,34 +163,34 @@
 # Here some general rules to produce objects in our local dir
 ${DIRLIB}/%.o: ${DIRSRC}/%.cpp
 	@(${EGREEN} "Creating CPP object file: "${WHITE} "`basename $@`"; ${RESET})
-	@${CXX} ${CXXFLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.cpp -I${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ `root-config --cflags`
+	@${CXX} ${CXXFLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.cpp -I${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ `root-config --cflags`
 
 ${DIRLIB}/%.o: ${DIRSRC}/%.c
 	@(${EGREEN} "Creating C object file: "${WHITE} "`basename $@`"; ${RESET})
-	@${CXX} ${CXXFLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.c -I${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ `root-config --cflags`
+	@${CXX} ${CXXFLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.c -I${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ `root-config --cflags`
 
 ${DIRLIB}/%.o: ${DIRSRC}/%.for
 	@(${EGREEN} "Creating F77 object file: "${WHITE} "`basename $@`"; ${RESET})
 	@${F77} ${F77FLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.for -I${DIRINC} 
 
-${LIBROOTLIBS}: ${LIBROOTSRCS}
+${LIBROOTLIBS}: ${LIBROOTSRCS} ${COBJS} ${FOBJS} 
 	@(${EGREEN} "ROOTCINT - creating file: "${WHITE} "`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp"; ${RESET})
 #
 #	Create *Dict.cpp and *Dict.h
 #
-	@${ROOTCINT} -f ${DIRSRC}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp -c -I${ROOTINC} -I${PAM_YODA}/include/yoda/ ${DIRINC}/`basename $(@F) _${VER}.so | sed s/lib//`.h ${DIRINC}/`basename $(@F) _${VER}.so | sed s/lib//`LinkDef.h
+	@${ROOTCINT} -f ${DIRSRC}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp -c -I${DIRINC} -I${ROOTINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ ${DIRINC}/`basename $(@F) _${VER}.so | sed s/lib//`.h ${DIRINC}/`basename $(@F) _${VER}.so | sed s/lib//`LinkDef.h
 #
 #	create .o 
 #
 	@(${EGREEN} "Compiling CPP file: "${WHITE} "`basename $(@F) _${VER}.so | sed s/lib//`.cpp"; ${RESET})
-	@${CXX} ${CXXFLAGS} -c ${DIRTOP}/${DIRSRC}/`basename $(@F) _${VER}.so | sed s/lib//`.cpp  -o ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o -I${DIRTOP}/${DIRINC} -I${DIRTOP} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${NROOTINC}; 
+	@${CXX} ${CXXFLAGS} -c ${DIRTOP}/${DIRSRC}/`basename $(@F) _${VER}.so | sed s/lib//`.cpp  -o ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o -I${DIRTOP}/${DIRINC} -I${DIRTOP} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ -I${NROOTINC}; 
 	@(${EGREEN} "Compiling CPP file: "${WHITE} "`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp"; ${RESET})
-	@${CXX} ${CXXFLAGS} -c ${DIRTOP}/${DIRSRC}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp -o ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.o -I${DIRTOP}/${DIRINC} -I${DIRTOP} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${NROOTINC}; 
+	@${CXX} ${CXXFLAGS} -c ${DIRTOP}/${DIRSRC}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp -o ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.o -I${DIRTOP}/${DIRINC} -I${DIRTOP} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ -I${NROOTINC}; 
 #
 #	create .so
 #
 	@(${EGREEN} "Creating shared library: "${WHITE} "`basename $@`"; ${RESET})
-	@${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} -I${DIRTOP} -I${PAM_YODA}/include/yoda/ ${SUBINC} ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.o 1>/dev/null
+	@${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} -I${DIRTOP} -I${PAM_YODA}/include/yoda/ ${SUBINC} -I${PAM_INC}/ ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.o ${LIBROOTOBJS} 1>/dev/null
 	@ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))
 
 ${LIBCPPLIBS}: ${LIBSRCS} ${COBJS} ${FOBJS}
@@ -187,12 +198,12 @@
 #	create .o 
 #
 	@(${EGREEN} "Compiling CPP file: "${WHITE} "`basename $(@F) _${VER}.so | sed s/lib//`.cpp"; ${RESET})
-	@${CXX} ${CXXFLAGS} -c ${DIRTOP}/${DIRSRC}/`basename $(@F) _${VER}.so | sed s/lib//`.cpp -o ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o -I${DIRTOP}/${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${NROOTINC}; 
+	@${CXX} ${CXXFLAGS} -c ${DIRTOP}/${DIRSRC}/`basename $(@F) _${VER}.so | sed s/lib//`.cpp -o ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o -I${DIRTOP}/${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ -I${NROOTINC}; 
 #
 #	create .so
 #
 	@(${EGREEN} "Creating shared library: "${WHITE} "`basename $@`"; ${RESET})
-	@${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} -I${DIRTOP} ${SUBINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o ${FOBJS} ${COBJS} 1>/dev/null
+	@${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} -I${DIRTOP} ${SUBINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o ${FOBJS} ${COBJS} 1>/dev/null
 	@ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))
 
 ${CXXEXELIBS}: ${CPPOBJS} ${COBJS} ${CXXEXEOBJS}