/[PAMELA software]/DarthVader/TrackerLevel2/Makefile
ViewVC logotype

Diff of /DarthVader/TrackerLevel2/Makefile

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by mocchiut, Mon Sep 4 15:43:53 2006 UTC revision 1.39 by mocchiut, Fri Dec 12 16:18:26 2008 UTC
# Line 1  Line 1 
1  # Tracker flight analysis software  # Tracker flight analysis software
2  # SOFTWARE VERSION  # SOFTWARE VERSION
3  VER= v0r01  VER= v6r00
4  DEBUG=0  DEBUG=0
5  # An almost general purpouse Makefile for PAMELA repository  # An almost general purpouse Makefile for PAMELA repository
6  # Let's start with some usefull definition for colorize the echo  # Let's start with some usefull definition for colorize the echo
# Line 24  RESET=tput sgr0 Line 24  RESET=tput sgr0
24  # Here the variables used to override the standard make flags  # Here the variables used to override the standard make flags
25  # C  # C
26  CC=gcc  CC=gcc
27  #CFLAGS=-Wall -O -fPIC -pthread -g  #CFLAGS=-Wall -O -fPIC -pthread -g ${PAM_BIT}
28  CFLAGS=-Wall -O -fPIC -pthread  #CFLAGS=-Wall -O -fPIC -pthread ${PAM_BIT}
29    CFLAGS=-Wall -O3 -funroll-loops -fPIC -pthread ${PAM_BIT}
30    #CFLAGS=-Wall -fPIC -pthread ${PAM_BIT}
31  # Enviroment:  # Enviroment:
32  GCCVER=`gcc --version | head -1`  GCCVER=`gcc --version | head -1`
33  UNAMEA=`uname -a`  UNAMEA=`uname -a`
34  TODAY=`date`  TODAY=`date`
35  # F77  # F77
36  F77=g77  F77=g77
37  #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}
38  F77FLAGS=  -Wall -Wno-globals -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash  #F77FLAGS=  -malign-double -Wall -funroll-loops -Wno-globals -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash -fPIC ${PAM_BIT}
39    F77FLAGS=  -malign-double -Wall -funroll-loops -Wno-globals -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash -fPIC ${PAM_BIT}
40    #F77FLAGS=  -malign-double -Wall -funroll-loops -Wno-globals -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash -fPIC ${PAM_BIT}
41    #F77FLAGS=   -Wall -Wno-globals -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash -fPIC ${PAM_BIT}
42    #F77FLAGS=  -Wall -Wno-globals -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash -fPIC ${PAM_BIT}
43  # C++  # C++
44  CXX=g++  CXX=g++
45  #CXXFLAGS=-Wall -O -fPIC -pthread -g -D'DEBUG=${DEBUG}'  #CXXFLAGS=-Wall -O -fPIC -pthread -g -D'DEBUG=${DEBUG}' ${PAM_BIT}
46  #CXXFLAGS=-Wall -O -fPIC -pthread -g -D'DEBUG=0'  #CXXFLAGS=-Wall -O -fPIC -pthread -g -D'DEBUG=0' ${PAM_BIT}
47  #CXXFLAGS=-Wall -O -fPIC -pthread -fpermissive  #CXXFLAGS=-Wall -O -fPIC -pthread -fpermissive ${PAM_BIT}
48  CXXFLAGS=-Wall -O -fPIC -pthread  #CXXFLAGS=-Wall -O4 -fPIC -pthread ${PAM_BIT}
49    CXXFLAGS=-Wall -O3 -funroll-loops -fPIC -pthread ${PAM_BIT}
50    #CXXFLAGS=-Wall -fPIC -pthread ${PAM_BIT}
51  # ROOTCINT  # ROOTCINT
52  ROOTCINT=rootcint  ROOTCINT=rootcint
53  # Here the variables definig the local directories  # Here the variables definig the local directories
# Line 71  FSRCS=${DIRSRC}/F77/fillpedsig.f   \ Line 79  FSRCS=${DIRSRC}/F77/fillpedsig.f   \
79          ${DIRSRC}/F77/readB.f \          ${DIRSRC}/F77/readB.f \
80          ${DIRSRC}/F77/interB.f \          ${DIRSRC}/F77/interB.f \
81          ${DIRSRC}/F77/track.f \          ${DIRSRC}/F77/track.f \
82          ${DIRSRC}/F77/grkuta.f          ${DIRSRC}/F77/grkuta.f \
83            ${DIRSRC}/F77/bdll.f      # ***PP***
84    
85  FOBJS=$(FSRCS:${DIRSRC}/F77/%.f=${DIRLIB}/%.o)  FOBJS=$(FSRCS:${DIRSRC}/F77/%.f=${DIRLIB}/%.o)
86  #-------------------------------------------------  #-------------------------------------------------
# Line 79  CSRCS= Line 88  CSRCS=
88  COBJS=$(CSRCS:${DIRSRC}%.cpp=${DIRLIB}/%.o)  COBJS=$(CSRCS:${DIRSRC}%.cpp=${DIRLIB}/%.o)
89  #-------------------------------------------------  #-------------------------------------------------
90  # librerie utilizzabili da root (ci deve essere anche il ***LinkDef.h )  # librerie utilizzabili da root (ci deve essere anche il ***LinkDef.h )
91  LIBROOTSRCS=    ${DIRSRC}/TrkLevel2.cpp  LIBROOTSRCS=${DIRSRC}/TrkParams.cpp \
92            ${DIRSRC}/TrkLevel2.cpp  \
93            ${DIRSRC}/TrkLevel1.cpp \
94            ${DIRSRC}/TrkLevel0.cpp \
95            ${DIRSRC}/TrkHough.cpp \
96            ${DIRSRC}/TrkCalib.cpp
97    
98  #LIBROOTSRCS=    #LIBROOTSRCS=  
99  LIBROOTLIBS=$(LIBROOTSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)  LIBROOTLIBS=$(LIBROOTSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)
100  LIBROOTOBJS=${DIRLIB}/readB.o ${DIRLIB}/interB.o ${DIRLIB}/track.o ${DIRLIB}/grkuta.o  LIBROOTOBJS=${DIRLIB}/readB.o \
101  LIBROOTCLIBS=libTrkLevel2          ${DIRLIB}/interB.o \
102            ${DIRLIB}/track.o \
103            ${DIRLIB}/grkuta.o \
104            ${DIRLIB}/bdll.o \
105            ${DIRLIB}/functionspfa.o \
106            ${DIRLIB}/readallparam.o \
107            ${DIRLIB}/functions.o  \
108            ${DIRLIB}/mini.o  \
109            ${DIRLIB}/tricircle.o  \
110            ${DIRLIB}/analysisflight.o  \
111            ${DIRLIB}/analysissubroutines.o  \
112            ${DIRLIB}/fillpedsig.o  \
113            ${DIRLIB}/cncomp.o  \
114            ${DIRLIB}/filladc.o  \
115            ${DIRLIB}/reductionflight.o
116    LIBROOTCLIBS= libTrkParams libTrkLevel2 libTrkLevel1 libTrkLevel0 libTrkHough libTrkCalib
117    
118  #LIBROOTCLIBS=  #LIBROOTCLIBS=
119  FULLROOTCLIBS=$(LIBROOTCLIBS:%=${DIRLIB}/%_${VER}.so)  FULLROOTCLIBS=$(LIBROOTCLIBS:%=${DIRLIB}/%_${VER}.so)
120  #-------------------------------------------------  #-------------------------------------------------
121  # librerie C++ NON utilizzabili da root  # librerie C++ NON utilizzabili da root
122  #LIBCPPSRCS=  ${DIRSRC}/TrkLevel2.cpp \  #LIBCPPSRCS=  ${DIRSRC}/TrkLevel2.cpp \
123  #               ${DIRSRC}/TrkLevel0.cpp  #               ${DIRSRC}/TrkLevel0.cpp
124  LIBCPPSRCS=${DIRSRC}/TrkLevel0.cpp \  LIBCPPSRCS=${DIRSRC}/TrkStruct.cpp \
            ${DIRSRC}/TrkStruct.cpp \  
125             ${DIRSRC}/TrkProcess.cpp \             ${DIRSRC}/TrkProcess.cpp \
126             ${DIRSRC}/TrkVerl2.cpp \             ${DIRSRC}/TrkVerl2.cpp \
127             ${DIRSRC}/TrkCore.cpp               ${DIRSRC}/TrkCore.cpp \
128    #          ${DIRSRC}/TrkLevel0.cpp
129    
130  LIBCPPLIBS=$(LIBCPPSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)  LIBCPPLIBS=$(LIBCPPSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)
131  #LIBCPPCLIBS=libTrkLevel2 libTrkLevel0  #LIBCPPCLIBS=libTrkLevel2 libTrkLevel0
132  LIBCPPCLIBS=libTrkLevel0 libTrkStruct libTrkProcess libTrkCore libTrkVerl2  LIBCPPCLIBS= libTrkStruct libTrkProcess libTrkCore libTrkVerl2 #libTrkLevel0
133  FULLCPPCLIBS=$(LIBCPPCLIBS:%=${DIRLIB}/%_${VER}.so)  FULLCPPCLIBS=$(LIBCPPCLIBS:%=${DIRLIB}/%_${VER}.so)
134  #-------------------------------------------------  #-------------------------------------------------
135  # librerie F77 NON utilizzabili da root  # librerie F77 NON utilizzabili da root
# Line 115  CXXEXESRCS=${DIRSRC}/TrackerLevel2.cpp Line 147  CXXEXESRCS=${DIRSRC}/TrackerLevel2.cpp
147  CXXEXEOBJS=$(CXXEXESRCS:${DIRSRC}%.cpp=${DIRLIB}%.o)  CXXEXEOBJS=$(CXXEXESRCS:${DIRSRC}%.cpp=${DIRLIB}%.o)
148  CXXEXELIBS:=TrackerLevel2  CXXEXELIBS:=TrackerLevel2
149    
150  OTHERLIBS=${PAM_LIB}/libGLTables.so ${DIRLIB}/libRunInfo.so  OTHERLIBS=${PAM_LIB}/libGLTables.so ${DIRLIB}/libRunInfo.so
151  SUBDIR=../RunInfo  SUBDIR=../RunInfo
152  SUBINC=$(shell for dir in `echo ${SUBDIR}`; do echo -I$${dir}/inc; done)  SUBINC=$(shell for dir in `echo ${SUBDIR}`; do echo -I$${dir}/inc; done)
153    
# Line 124  SUBINC=$(shell for dir in `echo ${SUBDIR Line 156  SUBINC=$(shell for dir in `echo ${SUBDIR
156  EXESRCS=${DIRBIN}/TrackerLevel2  EXESRCS=${DIRBIN}/TrackerLevel2
157  INCSRCS= \  INCSRCS= \
158          ${DIRINC}/TrkLevel2.h \          ${DIRINC}/TrkLevel2.h \
159            ${DIRINC}/TrkLevel1.h \
160          ${DIRINC}/TrkLevel0.h \          ${DIRINC}/TrkLevel0.h \
161            ${DIRINC}/TrkHough.h \
162            ${DIRINC}/TrkCalib.h \
163            ${DIRINC}/TrkParams.h \
164          ${DIRINC}/TrkStruct.h \          ${DIRINC}/TrkStruct.h \
165          ${DIRINC}/TrkProcess.h \          ${DIRINC}/TrkProcess.h \
166          ${DIRINC}/TrkCore.h \          ${DIRINC}/TrkCore.h \
# Line 171  ${LIBF77LIBS}: ${LIBF77OBJS} Line 207  ${LIBF77LIBS}: ${LIBF77OBJS}
207          @(${EYELLOW} " F77 shared library --------------------------")          @(${EYELLOW} " F77 shared library --------------------------")
208          @(${EGREEN} "Creating library: "${WHITE} "$@"; ${RESET})          @(${EGREEN} "Creating library: "${WHITE} "$@"; ${RESET})
209  #       @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ $^ `cernlib mathlib` /usr/lib/libg2c.so.0  #       @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ $^ `cernlib mathlib` /usr/lib/libg2c.so.0
210          @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c $^ `cernlib mathlib`  ##      @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c $^ `cernlib mathlib`
211            @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c $^
212    
213  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS}  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS}
214          @(${EYELLOW} " ROOT library ------------------------")          @(${EYELLOW} " ROOT library ------------------------")
# Line 179  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS} Line 216  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS}
216  #  #
217  #       Create *Dict.cpp and *Dict.h  #       Create *Dict.cpp and *Dict.h
218  #  #
219          @${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
220  #  #
221  #       create .o  #       create .o
222  #  #
# Line 192  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS} Line 229  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS}
229  #       create .so  #       create .so
230  #  #
231          @(${EGREEN} "Compiling shared library: "${WHITE} "$@"; ${RESET})          @(${EGREEN} "Compiling shared library: "${WHITE} "$@"; ${RESET})
232          @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} -I${DIRTOP} -I${PAM_YODA}/include/yoda -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} `cernlib mathlib` 1>/dev/null          ##      @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} -I${DIRTOP} -I${PAM_YODA}/include/yoda -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} `cernlib mathlib` 1>/dev/null        
233            @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} -I${DIRTOP} -I${PAM_YODA}/include/yoda -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  
234  #       ${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} ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.o 1>/dev/null
235          @ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))          @ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))
236          @(${EYELLOW} " -------------------------------------")          @(${EYELLOW} " -------------------------------------")
# Line 207  ${LIBCPPLIBS}: ${LIBCPPSRCS} Line 245  ${LIBCPPLIBS}: ${LIBCPPSRCS}
245  #       create .so  #       create .so
246  #  #
247          @(${EGREEN} "Compiling shared library: "${WHITE} "$@"; ${RESET})          @(${EGREEN} "Compiling shared library: "${WHITE} "$@"; ${RESET})
248          @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o ${OTHERLIBS} 1>/dev/null          @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o ${OTHERLIBS} ${FOBJS} 1>/dev/null
249          @ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))          @ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))
250    
251    
# Line 215  ${CXXEXELIBS}: ${COBJS} ${FOBJS} ${CXXEX Line 253  ${CXXEXELIBS}: ${COBJS} ${FOBJS} ${CXXEX
253          @(${EVIOLET} "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *")          @(${EVIOLET} "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *")
254          @(${EGREEN} "Creating exec file: "${WHITE} "$@"; ${RESET})          @(${EGREEN} "Creating exec file: "${WHITE} "$@"; ${RESET})
255  #       @${CXX} ${CXXFLAGS} -o ${DIRBIN}/$@ ${DIRLIB}/$@.o -I${DIRTOP}/${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_YODA}/include/utils/ ${PAM_YODA}/lib/libyoda.so ${PAM_YODA}/lib/libutils.so ${FOBJS} ${COBJS} ${FULLLIBS} ${OTHERLIBS} -lThread `root-config --cflags --glibs` `cernlib mathlib` /usr/lib/libg2c.so.0;  #       @${CXX} ${CXXFLAGS} -o ${DIRBIN}/$@ ${DIRLIB}/$@.o -I${DIRTOP}/${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_YODA}/include/utils/ ${PAM_YODA}/lib/libyoda.so ${PAM_YODA}/lib/libutils.so ${FOBJS} ${COBJS} ${FULLLIBS} ${OTHERLIBS} -lThread `root-config --cflags --glibs` `cernlib mathlib` /usr/lib/libg2c.so.0;
256          @${CXX} ${CXXFLAGS} -o ${DIRBIN}/$@ ${DIRLIB}/$@.o -I${DIRTOP}/${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ ${PAM_YODA}/lib/libyoda.so ${FOBJS} ${COBJS} ${FULLLIBS} ${OTHERLIBS} -lThread -lg2c `root-config --cflags --glibs` `cernlib mathlib`;          @${CXX} ${CXXFLAGS} -o ${DIRBIN}/$@ ${DIRLIB}/$@.o -I${DIRTOP}/${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_INC}/ ${PAM_YODA}/lib/libyoda.so ${FOBJS} ${COBJS} ${FULLLIBS} ${OTHERLIBS} -lThread -lg2c `root-config --cflags --glibs` `cernlib_noshift mathlib`;
257    
258    
259  # A small target to check environmental variables  # A small target to check environmental variables

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.39

  ViewVC Help
Powered by ViewVC 1.1.23