| 1 |
# Calorimeter flight analysis software |
# Calorimeter flight analysis software |
| 2 |
# SOFTWARE VERSION |
# SOFTWARE VERSION |
| 3 |
VER= v4r01 |
VER= v6r00 |
| 4 |
# An almost general purpouse Makefile for PAMELA repository |
# An almost general purpouse Makefile for PAMELA repository |
| 5 |
# Let's start with some usefull definition for colorize the echo |
# Let's start with some usefull definition for colorize the echo |
| 6 |
RED='\E[1;31;40m' |
RED='\E[1;31;40m' |
| 23 |
# Here the variables used to override the standard make flags |
# Here the variables used to override the standard make flags |
| 24 |
# C |
# C |
| 25 |
CC=gcc |
CC=gcc |
| 26 |
#CFLAGS=-Wall -O -fPIC -pthread -g |
#CFLAGS=-Wall -O -fPIC -pthread -g ${PAM_BIT} |
| 27 |
CFLAGS=-Wall -O -fPIC -pthread |
CFLAGS=-Wall -O3 -funroll-loops -fPIC -pthread ${PAM_BIT} |
| 28 |
|
#CFLAGS=-Wall -O4 -fPIC -pthread ${PAM_BIT} |
| 29 |
# Enviroment: |
# Enviroment: |
| 30 |
GCCVER=`gcc --version | head -1` |
GCCVER=`gcc --version | head -1` |
| 31 |
UNAMEA=`uname -a` |
UNAMEA=`uname -a` |
| 32 |
TODAY=`date` |
TODAY=`date` |
| 33 |
# F77 |
# F77 |
| 34 |
F77=g77 |
F77=g77 |
| 35 |
#F77FLAGS= -Wall -Wno-globals -fvxt -fno-automatic -fbounds-check -g -extend_source -static -fno-backslash |
#F77FLAGS= -Wall -Wno-globals -fvxt -fno-automatic -fbounds-check -g -extend_source -static -fno-backslash ${PAM_BIT} |
| 36 |
F77FLAGS= -Wall -Wno-globals -fPIC -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash |
#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} |
| 37 |
|
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} |
| 38 |
|
#F77FLAGS= -Wall -Wno-globals -fPIC -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash ${PAM_BIT} |
| 39 |
# C++ |
# C++ |
| 40 |
CXX=g++ |
CXX=g++ |
| 41 |
#CXXFLAGS=-Wall -O -fPIC -pthread -g |
#CXXFLAGS=-Wall -O -fPIC -pthread -g ${PAM_BIT} |
| 42 |
CXXFLAGS=-Wall -O -fPIC -pthread |
CXXFLAGS=-Wall -O3 -funroll-loops -fPIC -pthread ${PAM_BIT} |
| 43 |
|
#CXXFLAGS=-Wall -fPIC -pthread ${PAM_BIT} |
| 44 |
# ROOTCINT |
# ROOTCINT |
| 45 |
ROOTCINT=rootcint |
ROOTCINT=rootcint |
| 46 |
# Here the variables definig the local directories |
# Here the variables definig the local directories |
| 65 |
${DIRSRC}/nshower.for \ |
${DIRSRC}/nshower.for \ |
| 66 |
${DIRSRC}/nointer.for \ |
${DIRSRC}/nointer.for \ |
| 67 |
${DIRSRC}/elio.for \ |
${DIRSRC}/elio.for \ |
| 68 |
|
${DIRSRC}/nuclei.for \ |
| 69 |
${DIRSRC}/cluster.for \ |
${DIRSRC}/cluster.for \ |
| 70 |
${DIRSRC}/cluster2.for \ |
${DIRSRC}/cluster2.for \ |
| 71 |
|
${DIRSRC}/cluster4.for \ |
| 72 |
${DIRSRC}/laterale.for \ |
${DIRSRC}/laterale.for \ |
| 73 |
${DIRSRC}/baric.for \ |
${DIRSRC}/baric.for \ |
| 74 |
${DIRSRC}/selftrig.for \ |
${DIRSRC}/selftrig.for \ |
| 85 |
COBJS=$(CSRCS:${DIRSRC}%.c=${DIRLIB}%.o) |
COBJS=$(CSRCS:${DIRSRC}%.c=${DIRLIB}%.o) |
| 86 |
|
|
| 87 |
# -- CPP - ROOT libraries -- |
# -- CPP - ROOT libraries -- |
| 88 |
LIBROOTSRCS=${DIRSRC}/CaloLevel1.cpp \ |
LIBROOTSRCS=${DIRSRC}/CaloLevel0.cpp \ |
| 89 |
|
${DIRSRC}/CaloLevel1.cpp \ |
| 90 |
${DIRSRC}/CaloLevel2.cpp |
${DIRSRC}/CaloLevel2.cpp |
| 91 |
|
|
| 92 |
LIBROOTLIBS=$(LIBROOTSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so) |
LIBROOTLIBS=$(LIBROOTSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so) |
| 93 |
LIBROOTOBJS=${DIRLIB}/millim.o |
#LIBROOTOBJS=${DIRLIB}/millim.o |
| 94 |
LIBROOTCLIBS=libCaloLevel2 libCaloLevel1 |
LIBROOTOBJS=${FOBJS} ${COBJS} |
| 95 |
|
LIBROOTCLIBS=libCaloLevel2 libCaloLevel1 libCaloLevel0 |
| 96 |
FULLROOTCLIBS=$(LIBROOTCLIBS:%=${DIRLIB}/%_${VER}.so) |
FULLROOTCLIBS=$(LIBROOTCLIBS:%=${DIRLIB}/%_${VER}.so) |
| 97 |
|
|
| 98 |
# -- CPP - NON-ROOT libraries -- |
# -- CPP - NON-ROOT libraries -- |
| 99 |
LIBCPPSRCS=${DIRSRC}/CaloProcessing.cpp \ |
LIBCPPSRCS=${DIRSRC}/CaloCore.cpp \ |
|
${DIRSRC}/CaloCore.cpp \ |
|
| 100 |
${DIRSRC}/CaloVerl2.cpp |
${DIRSRC}/CaloVerl2.cpp |
| 101 |
LIBCPPLIBS=$(LIBCPPSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so) |
LIBCPPLIBS=$(LIBCPPSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so) |
| 102 |
LIBCPPCLIBS=libCaloProcessing libCaloCore libCaloVerl2 |
LIBCPPCLIBS=libCaloCore libCaloVerl2 |
| 103 |
FULLLIBCPPLIBS=$(LIBCPPCLIBS:%=${DIRLIB}/%_${VER}.so) |
FULLLIBCPPLIBS=$(LIBCPPCLIBS:%=${DIRLIB}/%_${VER}.so) |
| 104 |
|
|
| 105 |
# -- CPP - Executables -- |
# -- CPP - Executables -- |
| 120 |
# Other objects to install |
# Other objects to install |
| 121 |
EXESRCS=${DIRBIN}/CalorimeterLevel2 |
EXESRCS=${DIRBIN}/CalorimeterLevel2 |
| 122 |
|
|
| 123 |
INCSRCS=${DIRINC}/CaloLevel1.h ${DIRINC}/CaloLevel2.h ${DIRINC}/CaloStruct.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 |
| 124 |
|
|
| 125 |
MACROSSRCS= |
MACROSSRCS= |
| 126 |
|
|
| 171 |
@(${EGREEN} "Creating F77 object file: "${WHITE} "`basename $@`"; ${RESET}) |
@(${EGREEN} "Creating F77 object file: "${WHITE} "`basename $@`"; ${RESET}) |
| 172 |
@${F77} ${F77FLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.for -I${DIRINC} |
@${F77} ${F77FLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.for -I${DIRINC} |
| 173 |
|
|
| 174 |
${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS} |
${LIBROOTLIBS}: ${LIBROOTSRCS} ${COBJS} ${FOBJS} |
| 175 |
@(${EGREEN} "ROOTCINT - creating file: "${WHITE} "`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp"; ${RESET}) |
@(${EGREEN} "ROOTCINT - creating file: "${WHITE} "`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp"; ${RESET}) |
| 176 |
# |
# |
| 177 |
# Create *Dict.cpp and *Dict.h |
# Create *Dict.cpp and *Dict.h |
| 178 |
# |
# |
| 179 |
@${ROOTCINT} -f ${DIRSRC}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp -c -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 |
@${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 |
| 180 |
# |
# |
| 181 |
# create .o |
# create .o |
| 182 |
# |
# |