/[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.7 by pam-fi, Wed Oct 11 06:53:01 2006 UTC revision 1.37 by mocchiut, Fri Nov 28 09:00:34 2008 UTC
# Line 1  Line 1 
1  # Tracker flight analysis software  # Tracker flight analysis software
2  # SOFTWARE VERSION  # SOFTWARE VERSION
3  VER= v2r00  VER= v5r00
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=  -Wall -Wno-globals -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash -fPIC ${PAM_BIT}
40  # C++  # C++
41  CXX=g++  CXX=g++
42  #CXXFLAGS=-Wall -O -fPIC -pthread -g -D'DEBUG=${DEBUG}'  #CXXFLAGS=-Wall -O -fPIC -pthread -g -D'DEBUG=${DEBUG}' ${PAM_BIT}
43  #CXXFLAGS=-Wall -O -fPIC -pthread -g -D'DEBUG=0'  #CXXFLAGS=-Wall -O -fPIC -pthread -g -D'DEBUG=0' ${PAM_BIT}
44  #CXXFLAGS=-Wall -O -fPIC -pthread -fpermissive  #CXXFLAGS=-Wall -O -fPIC -pthread -fpermissive ${PAM_BIT}
45  CXXFLAGS=-Wall -O -fPIC -pthread  #CXXFLAGS=-Wall -O4 -fPIC -pthread ${PAM_BIT}
46    CXXFLAGS=-Wall -O3 -funroll-loops -fPIC -pthread ${PAM_BIT}
47    #CXXFLAGS=-Wall -fPIC -pthread ${PAM_BIT}
48  # ROOTCINT  # ROOTCINT
49  ROOTCINT=rootcint  ROOTCINT=rootcint
50  # Here the variables definig the local directories  # Here the variables definig the local directories
# Line 71  FSRCS=${DIRSRC}/F77/fillpedsig.f   \ Line 76  FSRCS=${DIRSRC}/F77/fillpedsig.f   \
76          ${DIRSRC}/F77/readB.f \          ${DIRSRC}/F77/readB.f \
77          ${DIRSRC}/F77/interB.f \          ${DIRSRC}/F77/interB.f \
78          ${DIRSRC}/F77/track.f \          ${DIRSRC}/F77/track.f \
79          ${DIRSRC}/F77/grkuta.f          ${DIRSRC}/F77/grkuta.f \
80            ${DIRSRC}/F77/bdll.f      # ***PP***
81    
82  FOBJS=$(FSRCS:${DIRSRC}/F77/%.f=${DIRLIB}/%.o)  FOBJS=$(FSRCS:${DIRSRC}/F77/%.f=${DIRLIB}/%.o)
83  #-------------------------------------------------  #-------------------------------------------------
# Line 79  CSRCS= Line 85  CSRCS=
85  COBJS=$(CSRCS:${DIRSRC}%.cpp=${DIRLIB}/%.o)  COBJS=$(CSRCS:${DIRSRC}%.cpp=${DIRLIB}/%.o)
86  #-------------------------------------------------  #-------------------------------------------------
87  # librerie utilizzabili da root (ci deve essere anche il ***LinkDef.h )  # librerie utilizzabili da root (ci deve essere anche il ***LinkDef.h )
88  LIBROOTSRCS=    ${DIRSRC}/TrkLevel2.cpp  \  LIBROOTSRCS=${DIRSRC}/TrkParams.cpp \
89                                  ${DIRSRC}/TrkLevel1.cpp          ${DIRSRC}/TrkLevel2.cpp  \
90            ${DIRSRC}/TrkLevel1.cpp \
91            ${DIRSRC}/TrkLevel0.cpp \
92            ${DIRSRC}/TrkHough.cpp \
93            ${DIRSRC}/TrkCalib.cpp
94    
95  #LIBROOTSRCS=    #LIBROOTSRCS=  
96  LIBROOTLIBS=$(LIBROOTSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)  LIBROOTLIBS=$(LIBROOTSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)
97  LIBROOTOBJS=${DIRLIB}/readB.o ${DIRLIB}/interB.o ${DIRLIB}/track.o ${DIRLIB}/grkuta.o ${DIRLIB}/functionspfa.o ${DIRLIB}/readallparam.o ${DIRLIB}/functions.o  LIBROOTOBJS=${DIRLIB}/readB.o \
98  LIBROOTCLIBS=libTrkLevel2 libTrkLevel1          ${DIRLIB}/interB.o \
99            ${DIRLIB}/track.o \
100            ${DIRLIB}/grkuta.o \
101            ${DIRLIB}/bdll.o \
102            ${DIRLIB}/functionspfa.o \
103            ${DIRLIB}/readallparam.o \
104            ${DIRLIB}/functions.o  \
105            ${DIRLIB}/mini.o  \
106            ${DIRLIB}/tricircle.o  \
107            ${DIRLIB}/analysisflight.o  \
108            ${DIRLIB}/analysissubroutines.o  \
109            ${DIRLIB}/fillpedsig.o  \
110            ${DIRLIB}/cncomp.o  \
111            ${DIRLIB}/filladc.o  \
112            ${DIRLIB}/reductionflight.o
113    LIBROOTCLIBS= libTrkParams libTrkLevel2 libTrkLevel1 libTrkLevel0 libTrkHough libTrkCalib
114    
115  #LIBROOTCLIBS=  #LIBROOTCLIBS=
116  FULLROOTCLIBS=$(LIBROOTCLIBS:%=${DIRLIB}/%_${VER}.so)  FULLROOTCLIBS=$(LIBROOTCLIBS:%=${DIRLIB}/%_${VER}.so)
117  #-------------------------------------------------  #-------------------------------------------------
118  # librerie C++ NON utilizzabili da root  # librerie C++ NON utilizzabili da root
119  #LIBCPPSRCS=  ${DIRSRC}/TrkLevel2.cpp \  #LIBCPPSRCS=  ${DIRSRC}/TrkLevel2.cpp \
120  #               ${DIRSRC}/TrkLevel0.cpp  #               ${DIRSRC}/TrkLevel0.cpp
121  LIBCPPSRCS=${DIRSRC}/TrkLevel0.cpp \  LIBCPPSRCS=${DIRSRC}/TrkStruct.cpp \
            ${DIRSRC}/TrkStruct.cpp \  
122             ${DIRSRC}/TrkProcess.cpp \             ${DIRSRC}/TrkProcess.cpp \
123             ${DIRSRC}/TrkVerl2.cpp \             ${DIRSRC}/TrkVerl2.cpp \
124             ${DIRSRC}/TrkCore.cpp               ${DIRSRC}/TrkCore.cpp \
125    #          ${DIRSRC}/TrkLevel0.cpp
126    
127  LIBCPPLIBS=$(LIBCPPSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)  LIBCPPLIBS=$(LIBCPPSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)
128  #LIBCPPCLIBS=libTrkLevel2 libTrkLevel0  #LIBCPPCLIBS=libTrkLevel2 libTrkLevel0
129  LIBCPPCLIBS=libTrkLevel0 libTrkStruct libTrkProcess libTrkCore libTrkVerl2  LIBCPPCLIBS= libTrkStruct libTrkProcess libTrkCore libTrkVerl2 #libTrkLevel0
130  FULLCPPCLIBS=$(LIBCPPCLIBS:%=${DIRLIB}/%_${VER}.so)  FULLCPPCLIBS=$(LIBCPPCLIBS:%=${DIRLIB}/%_${VER}.so)
131  #-------------------------------------------------  #-------------------------------------------------
132  # librerie F77 NON utilizzabili da root  # librerie F77 NON utilizzabili da root
# Line 116  CXXEXESRCS=${DIRSRC}/TrackerLevel2.cpp Line 144  CXXEXESRCS=${DIRSRC}/TrackerLevel2.cpp
144  CXXEXEOBJS=$(CXXEXESRCS:${DIRSRC}%.cpp=${DIRLIB}%.o)  CXXEXEOBJS=$(CXXEXESRCS:${DIRSRC}%.cpp=${DIRLIB}%.o)
145  CXXEXELIBS:=TrackerLevel2  CXXEXELIBS:=TrackerLevel2
146    
147  OTHERLIBS=${PAM_LIB}/libGLTables.so ${DIRLIB}/libRunInfo.so  OTHERLIBS=${PAM_LIB}/libGLTables.so ${DIRLIB}/libRunInfo.so
148  SUBDIR=../RunInfo  SUBDIR=../RunInfo
149  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)
150    
# Line 127  INCSRCS= \ Line 155  INCSRCS= \
155          ${DIRINC}/TrkLevel2.h \          ${DIRINC}/TrkLevel2.h \
156          ${DIRINC}/TrkLevel1.h \          ${DIRINC}/TrkLevel1.h \
157          ${DIRINC}/TrkLevel0.h \          ${DIRINC}/TrkLevel0.h \
158            ${DIRINC}/TrkHough.h \
159            ${DIRINC}/TrkCalib.h \
160            ${DIRINC}/TrkParams.h \
161          ${DIRINC}/TrkStruct.h \          ${DIRINC}/TrkStruct.h \
162          ${DIRINC}/TrkProcess.h \          ${DIRINC}/TrkProcess.h \
163          ${DIRINC}/TrkCore.h \          ${DIRINC}/TrkCore.h \
# Line 173  ${LIBF77LIBS}: ${LIBF77OBJS} Line 204  ${LIBF77LIBS}: ${LIBF77OBJS}
204          @(${EYELLOW} " F77 shared library --------------------------")          @(${EYELLOW} " F77 shared library --------------------------")
205          @(${EGREEN} "Creating library: "${WHITE} "$@"; ${RESET})          @(${EGREEN} "Creating library: "${WHITE} "$@"; ${RESET})
206  #       @${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
207          @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c $^ `cernlib mathlib`  ##      @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c $^ `cernlib mathlib`
208            @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c $^
209    
210  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS}  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS}
211          @(${EYELLOW} " ROOT library ------------------------")          @(${EYELLOW} " ROOT library ------------------------")
# Line 181  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS} Line 213  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS}
213  #  #
214  #       Create *Dict.cpp and *Dict.h  #       Create *Dict.cpp and *Dict.h
215  #  #
216          @${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
217  #  #
218  #       create .o  #       create .o
219  #  #
# Line 194  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS} Line 226  ${LIBROOTLIBS}: ${LIBROOTSRCS} ${FOBJS}
226  #       create .so  #       create .so
227  #  #
228          @(${EGREEN} "Compiling shared library: "${WHITE} "$@"; ${RESET})          @(${EGREEN} "Compiling shared library: "${WHITE} "$@"; ${RESET})
229          @${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        
230            @${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  
231  #       ${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
232          @ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))          @ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))
233          @(${EYELLOW} " -------------------------------------")          @(${EYELLOW} " -------------------------------------")
# Line 209  ${LIBCPPLIBS}: ${LIBCPPSRCS} Line 242  ${LIBCPPLIBS}: ${LIBCPPSRCS}
242  #       create .so  #       create .so
243  #  #
244          @(${EGREEN} "Compiling shared library: "${WHITE} "$@"; ${RESET})          @(${EGREEN} "Compiling shared library: "${WHITE} "$@"; ${RESET})
245          @${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
246          @ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))          @ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))
247    
248    
# Line 217  ${CXXEXELIBS}: ${COBJS} ${FOBJS} ${CXXEX Line 250  ${CXXEXELIBS}: ${COBJS} ${FOBJS} ${CXXEX
250          @(${EVIOLET} "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *")          @(${EVIOLET} "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *")
251          @(${EGREEN} "Creating exec file: "${WHITE} "$@"; ${RESET})          @(${EGREEN} "Creating exec file: "${WHITE} "$@"; ${RESET})
252  #       @${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;
253          @${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`;
254    
255    
256  # A small target to check environmental variables  # A small target to check environmental variables

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.37

  ViewVC Help
Powered by ViewVC 1.1.23