/[PAMELA software]/eventviewer/flight/Makefile
ViewVC logotype

Diff of /eventviewer/flight/Makefile

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

revision 1.3 by mocchiut, Tue Apr 4 14:03:59 2006 UTC revision 1.8 by mocchiut, Fri Feb 2 14:35:52 2007 UTC
# Line 1  Line 1 
1  # FLIGHT EVENT VIEWER  # Flight Event Viewer software
2  # SOFTWARE VERSION  # SOFTWARE VERSION
3  VER= v1r03  VER= v2r01
 # REQUIRES CALOCOMMON and ROOT2PAW versions  
 #COMMONVER=v1r9  
 #R2PVER=v3r00  
 # installed calocommon version  
 COMPCOMVER=`echo ${COMMONVER} | tr -d [a-z:A-Z]`  
 INSTCOMVER=`${PAM_BIN}/calocommon |head -2 |tail -1 | tr -d [a-z:A-Z]`  
 COMPR2PVER=`echo ${R2PVER} | tr -d [a-z:A-Z]`  
 INSTR2PVER=`${PAM_BIN}/GroundDataConvert --version |head -2 |tail -1 | sed s/2//\1 | tr -d [a-z:A-Z]`  
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'
7  GREEN='\E[1;32;40m'  GREEN='\E[1;32;40m'
8  YELLOW='\E[1;33;40m'  YELLOW='\E[1;33;40m'
9  BLUE='\E[1;34;40m'  BLUE='\E[1;34;40m'
10    WHITE='\E[1;37;40m'
11  VIOLET='\E[1;35;40m'  VIOLET='\E[1;35;40m'
12  CYAN='\E[1;36;40m'  CYAN='\E[1;36;40m'
 WHITE='\E[1;37;40m'  
13  # Here the echo definition to use them  # Here the echo definition to use them
14    EVIOLET=echo -e ${VIOLET}
15    ECYAN=echo -e ${CYAN}
16  ERED=echo -e ${RED}  ERED=echo -e ${RED}
17  EGREEN=echo -e ${GREEN}  EGREEN=echo -e ${GREEN}
18  EYELLOW=echo -e ${YELLOW}  EYELLOW=echo -e ${YELLOW}
19  EBLUE=echo -e ${BLUE}  EBLUE=echo -e ${BLUE}
 EVIOLET=echo -e ${VIOLET}  
 ECYAN=echo -e ${CYAN}  
20  EWHITE=echo -e ${WHITE}  EWHITE=echo -e ${WHITE}
21  # Reset the terminal  # Reset the terminal
22  RESET=tput sgr0  RESET=tput sgr0
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 -fPIC -O3 -g  CFLAGS=-Wall -O -fPIC -pthread -g
27  CFLAGS=-Wall -fPIC -O3  #CFLAGS=-Wall -O -fPIC -pthread
28  # Enviroment:  # Enviroment:
29  GCCVER=`gcc --version | head -1`  GCCVER=`gcc --version | head -1`
30  UNAMEA=`uname -a`  UNAMEA=`uname -a`
31  TODAY=`date`  TODAY=`date`
32  # F77  # F77
33  F77=g77  F77=g77
34  #F77FLAGS=  -Wall -Wno-globals -fPIC -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
35  F77FLAGS=  -Wall -Wno-globals -fPIC -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash  #F77FLAGS=  -Wall -Wno-globals -fvxt -fno-automatic -fbounds-check -extend_source -static -fno-backslash
36  # C++  # C++
37  CXX=g++  CXX=g++
38  #CXXFLAGS=-Wall -fPIC -O3 -g  CXXFLAGS=-Wall -O -fPIC -pthread -g
39  CXXFLAGS=-Wall -fPIC -O3  #CXXFLAGS=-Wall -O -fPIC -pthread
40  # ROOTCINT  # ROOTCINT
41  ROOTCINT=rootcint  ROOTCINT=rootcint
42  # Here the variables definig the local directories  # Here the variables definig the local directories
# Line 57  DIRDOC=doc Line 49  DIRDOC=doc
49  DIRMACROS=macros  DIRMACROS=macros
50  DIRCALIB=calib  DIRCALIB=calib
51  # Here the  PAMELA environmental variables to be checked  # Here the  PAMELA environmental variables to be checked
52  PAM_ENV= PAM_BIN_env PAM_LIB_env PAM_INC_env PAM_DOC_env PAM_MACROS_env PAM_CALIB_env PAM_YODA_env  PAM_ENV= PAM_BIN_env PAM_LIB_env PAM_INC_env PAM_DOC_env PAM_YODA_env
53    
54  # Here the local variables used to build the targets  # Here the local variables used to build the targets
55    # -- F77 - no libraries --
56  FSRCS=  FSRCS=
57  #${DIRSRC}/readb2maps.for \  FOBJS=$(FSRCS:${DIRSRC}%.for=${DIRLIB}%.o)
 #      ${DIRSRC}/ptlevel1.for \  
 #      ${DIRSRC}/track.for  
   
 FOBJS=$(FSRCS:${DIRSRC}%.for=${DIRBIN}%.o)  
 FLIBS=  
 #readb2maps ptlevel1 track  
 FULLFLIBS=$(FLIBS:%=${DIRLIB}/lib%_${VER}.so)  
 FULLLINKFLIBS=$(FLIBS:%=${DIRLIB}/lib%.so)  
58    
59  CSRCS=  # -- CPP - no libraries --
60  COBJS=$(CSRCS:${DIRMACROS}%.c=${DIRBIN}%.o)  CPPSRCS=${DIRSRC}/FEVpathtoc.cpp \
61  CLIBS=          ${DIRSRC}/FEVVerl2.cpp \
62  FULLCLIBS=$(CLIBS:%=${DIRLIB}/lib%_${VER}.so)          ${DIRSRC}/FEventViewerCore.cpp
63  FULLLINKCLIBS=$(CLIBS:%=${DIRLIB}/lib%.so)  CPPOBJS=$(CPPSRCS:${DIRSRC}%.cpp=${DIRLIB}%.o)
   
 CXXSRCS=  
 #${DIRSRC}/libptlevel1.C \  
 #       ${DIRSRC}/libtrack.C    \  
 #       ${DIRSRC}/libreadb2maps.C  
   
 FULLCXXLIBS=$(CXXSRCS:${DIRSRC}/%.C=${DIRLIB}/%_C_${VER}.so)  
   
 MACROSRCS=${DIRMACROS}/FEVpathtoc.cxx \  
           ${DIRMACROS}/FEVpamevcontrol.cxx \  
           ${DIRMACROS}/FEventViewer.cxx  
 MACROSLIBS=$(MACROSRCS:${DIRMACROS}/%.cxx=${DIRLIB}/lib%_${VER}.so)  
 MACROCLIBS=libFEVpathtoc libFEVpamevcontrol libFEventViewer  
 FULLMACROCLIBS=$(MACROCLIBS:%=${DIRLIB}/%_${VER}.so)  
 FULLLINKMACROCLIBS=$(MACROCLIBS:%=${DIRLIB}/%.so)  
64    
65  HSRCS=  # -- C - no libraries --
66  FULLHLIBS=$(HSRCS:${DIRINC}/%.h=${DIRLIB}/%_h_${VER}.so)  CSRCS=
67    COBJS=$(CSRCS:${DIRSRC}%.c=${DIRLIB}%.o)
68    
69  CXXEXESRCS=${DIRSRC}/FEventViewer.cc  # -- CPP - ROOT libraries --
70  CXXEXEOBJS=$(CXXEXESRCS:${DIRSRC}%.cc=${DIRBIN}%.o)  LIBROOTSRCS=${DIRSRC}/FEVpamevcontrol.cpp
71    LIBROOTLIBS=$(LIBROOTSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)
72    LIBROOTCLIBS=libFEVpamevcontrol
73    FULLROOTCLIBS=$(LIBROOTCLIBS:%=${DIRLIB}/%_${VER}.so)
74    
75    # -- CPP - NON-ROOT libraries --
76    LIBCPPSRCS=${DIRSRC}/FEVdetector.cpp
77    LIBCPPLIBS=$(LIBCPPSRCS:${DIRSRC}/%.cpp=${DIRLIB}/lib%_${VER}.so)
78    LIBCPPCLIBS=libFEVdetector
79    FULLLIBCPPLIBS=$(LIBCPPCLIBS:%=${DIRLIB}/%_${VER}.so)
80    
81    # -- CPP - Executables --
82    CXXEXESRCS=${DIRSRC}/FEventViewer.cpp
83    CXXEXEOBJS=$(CXXEXESRCS:${DIRSRC}%.cpp=${DIRLIB}%.o)
84  CXXEXELIBS:=FEventViewer  CXXEXELIBS:=FEventViewer
85    
86  FULLLIBS=${FULLFLIBS} ${FULLCXXLIBS} ${FULLCLIBS} ${FULLHLIBS}  # -- list of tracker objects needed to link
87    TRKOBJS=${PAM_LIB}/libDarthVader.so ${PAM_LIB}/libGLTables.so ${PAM_LIB}/libsgp4.so
88    #${PAM_LIB}/libTrkLevel2.so ${PAM_LIB}/libTrkLevel1.so ${PAM_LIB}/libGLTables.so ${PAM_LIB}/libRunInfo.so ${PAM_LIB}/libNDLevel2.so ${PAM_LIB}/libAcLevel2.so ${PAM_LIB}/libToFLevel2.so ${PAM_LIB}/libS4Level2.so ${PAM_LIB}/libCaloLevel2.so ${PAM_LIB}/libOrbitalInfo.so ${PAM_LIB}/libTrigLevel2.so
89    # -- directory where to find tracker headers needed to compile
90    SUBDIR=
91    SUBINC=-I${PAM_INC}
92    #SUBINC=$(shell for dir in `echo ${SUBDIR}`; do echo -I$${dir}/inc; done)
93    
94    # List of all libraries we want to install
95    FULLLIBS = ${FULLROOTCLIBS} ${FULLLIBCPPLIBS}
96    
97  EXESRCS = ${DIRBIN}/FEventViewer  # Other objects to install
98    EXESRCS=${DIRBIN}/FEventViewer
99    
100  INCSRCS= ${DIRINC}/feventviewer.h  INCSRCS=${DIRINC}/FEventViewer.h ${DIRINC}/FEVpamevcontrol.h ${DIRINC}/FEVpathtoc.h ${DIRINC}/feventvstruct.h
101    
102  MACROSSRCS=${DIRMACROS}/ffilter.cxx  MACROSSRCS=
103    
104  CALIBFILES=  CALIBFILES=
105    
106  DOCFILES=${DIRDOC}/FEventViewer.README.pdf ${DIRDOC}/ffilter.cxx  DOCFILES=
107    
108  # Here the Variables used for info target  # Here the Variables used for info target
109  PACKAGE=PAMELA flight event viewer software  PACKAGE=
110  EXECUTABLES=FEventViewer  EXECUTABLES= ${EXESRCS}
111  LIBS= ${FLIBS} ${FOBJS} ${CLIBS} ${COBJS} ${CXXEXEOBJS}  LIBS= ${FULLLIBS}
112  DOCS=  DOCS=
113  SRCS= ${FSRCS} ${CRSCS} ${CXXEXESRCS}  SRCS=
114    #SRCS= ${FSRCS} ${CRSCS} ${CXXEXESRCS} ${LIBROOTSRCS} ${LIBCPPSRCS}
115  MACROS= ${MACROSSRCS}  MACROS= ${MACROSSRCS}
116    INCLUDE= ${INCSRCS}
117  #  #
118  TOBEDEL = junk  TOBEDEL = junk
119  ROOTINC=$$${shell root-config --incdir}  ROOTINC=$$${shell root-config --incdir}
120  NROOTINC=${shell root-config --incdir}  NROOTINC=${shell root-config --incdir}
121  # Let's start  # Let's start
122  all : test mkbindir mklibdir mkpathtoc ${FULLFLIBS} ${FULLCXXLIBS} ${MACROSLIBS} ${CXXEXELIBS}  #all: test mkbindir mklibdir mkverpath ${FOBJS} ${CPPOBJS} ${LIBROOTLIBS} ${LIBCPPLIBS} ${CXXEXELIBS}
123    all: prepare libs exe
124  all:  all:
125          @echo -e ${GREEN} ""          @echo -e ${GREEN} ""
126          @(${EGREEN} " Finished, now you can install the package \n  (use: make install or make upgrade or make forceinstall) "; ${RESET})          @(${EGREEN} " Finished, now you can install the package \n  (use: make install or make upgrade or make forceinstall) "; ${RESET})
127          @echo -e ${GREEN} ""          @echo -e ${GREEN} ""
128          @${RESET}          @${RESET}
129    
130  # Here some general rules to produce objects in our local dir  prepare: test mkbindir mklibdir mkverpath mkpathtoc
131  # .o from fortran  
132  ${DIRBIN}/%.o : ${DIRSRC}/%.for  exe: prepare ${CXXEXELIBS}
         @(${EGREEN} "Creating object file: "${WHITE} "$@"; ${RESET})  
         @${F77} ${F77FLAGS} -c -o $@ $< -I${DIRINC}  
   
 ${DIRBIN}/%.o: ${DIRSRC}/%.cc  
         @(${EGREEN} "Creating object file: "${WHITE} "$@"; ${RESET})  
 #       @cat ${DIRSRC}/`basename ${@} .o`.cc > ${DIRSRC}/temp.cc;  
 #       @echo ' ' >> ${DIRSRC}/temp.cc  
 #       @echo 'void info(){ printf("\nEventViewer package version: ${VER}\n\nCompiled on '${TODAY}' with: '${GCCVER}'\n\nOn: '${UNAMEA}'\n\n"); }' >> ${DIRSRC}/temp.cc  
 #       @${CXX} ${CXXFLAGS} -c -o $@ ${DIRSRC}/temp.cc -I${DIRINC} -I${PAM_INC} -I${PAM_YODA}/include/yoda/ `root-config --cflags`  
         @${CXX} ${CXXFLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.cc -I${DIRINC} -I${PAM_INC} -I${PAM_YODA}/include/yoda/ `root-config --cflags`  
   
 # .o from C  
 ${DIRBIN}/%.o : ${DIRSRC}/%.c  
         @(${EGREEN} "Creating object file: "${WHITE} "$@"; ${RESET})  
         @${CC} ${CFLAGS} -c -o $@ $< -I${DIRINC}  
   
   
 # .so from .o fortran  
 ${FULLFLIBS}: ${FOBJS}  
         @(${EGREEN} "Creating library: "${WHITE} "$@"; ${RESET})  
         @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ ${DIRBIN}/$(patsubst lib%_${VER}.so,%.o,$(@F)) -lg2c `cernlib mathlib`  
         @(${EGREEN} "Creating symlink from : "${WHITE} "$@"; ${RESET})  
         @(${EGREEN} "                   to : "${WHITE} "${DIRLIB}/`basename $@ _${VER}.so`.so"; ${RESET})  
         @ln -sf `basename $@` ${DIRLIB}/`basename $@ _${VER}.so`.so  
   
 # .so from .o c  
 ${FULLCLIBS}: ${COBJS}  
         @(${EGREEN} "Creating library: "${WHITE} "$@"; ${RESET})  
         @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ $^ -lg2c `mysql_config --cflags --libs`  
         @(${EGREEN} "Creating symlink from : "${WHITE} "$@"; ${RESET})  
         @(${EGREEN} "                   to : "${WHITE} "${DIRLIB}/`basename $@ _${VER}.so`.so"; ${RESET})  
         @ln -sf `basename $@` ${DIRLIB}/`basename $@ _${VER}.so`.so  
133    
134    libs: prepare ${LIBROOTLIBS} ${LIBCPPLIBS}
135    
136  ${MACROSLIBS}: ${MACROSRCS}  # Here some general rules to produce objects in our local dir
137          @(${EGREEN} "Compiling macro: "${WHITE} "$@"; ${RESET})  ${DIRLIB}/%.o: ${DIRSRC}/%.cpp
138            @(${EGREEN} "Creating CPP object file: "${WHITE} "`basename $@`"; ${RESET})
139            @${CXX} ${CXXFLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.cpp -I${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_YODA}/include/utils/ `root-config --cflags`
140    
141    ${DIRLIB}/%.o: ${DIRSRC}/%.c
142            @(${EGREEN} "Creating C object file: "${WHITE} "`basename $@`"; ${RESET})
143            @${CXX} ${CXXFLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.c -I${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_YODA}/include/utils/ `root-config --cflags`
144    
145    ${DIRLIB}/%.o: ${DIRSRC}/%.for
146            @(${EGREEN} "Creating F77 object file: "${WHITE} "`basename $@`"; ${RESET})
147            @${F77} ${F77FLAGS} -c -o $@ ${DIRSRC}/`basename ${@} .o`.for -I${DIRINC}
148    
149    ${LIBROOTLIBS}: ${LIBROOTSRCS}
150            @(${EGREEN} "ROOTCINT - creating file: "${WHITE} "`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp"; ${RESET})
151  #  #
152  #       Create *Dict.cxx and *Dict.h  #       Create *Dict.cpp and *Dict.h
153  #  #
154          @${ROOTCINT} -f ${DIRMACROS}/`basename $(@F) _${VER}.so  | sed s/lib//`Dict.cxx -c -I${ROOTINC} ${DIRINC}/`basename $(@F) _${VER}.so | sed s/lib//`fun.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${ROOTINC} -I${PAM_YODA}/include/yoda/ -I${PAM_YODA}/include/utils/ ${DIRINC}/`basename $(@F) _${VER}.so | sed s/lib//`.h ${DIRINC}/`basename $(@F) _${VER}.so | sed s/lib//`LinkDef.h
155  #  #
156  #       create .o  #       create .o
157  #  #
158          @cd ${DIRMACROS} &>/dev/null && ${CXX} ${CXXFLAGS} -c `basename $(@F) _${VER}.so | sed s/lib//`.cxx -I${PAM_INC} -I${DIRTOP}/${DIRINC} -I${DIRTOP} -I${PAM_YODA}/include/yoda/ -I${NROOTINC};          @(${EGREEN} "Compiling CPP file: "${WHITE} "`basename $(@F) _${VER}.so | sed s/lib//`.cpp"; ${RESET})
159          @cd ${DIRMACROS} &>/dev/null && ${CXX} ${CXXFLAGS} -c `basename $(@F) _${VER}.so | sed s/lib//`Dict.cxx -I${PAM_INC} -I${DIRTOP}/${DIRINC} -I${DIRTOP} -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_YODA}/include/utils/ -I${NROOTINC};
160            @(${EGREEN} "Compiling CPP file: "${WHITE} "`basename $(@F) _${VER}.so | sed s/lib//`Dict.cpp"; ${RESET})
161            @${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_YODA}/include/utils/ -I${NROOTINC};
162  #  #
163  #       create .so  #       create .so
164  #  #
165          @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${PAM_INC} -I${DIRTOP}/${DIRINC} -I${DIRTOP} -I${PAM_YODA}/include/yoda/ ${PAM_YODA}/lib/libyoda.so ${DIRTOP}/${DIRMACROS}/`basename $(@F) _${VER}.so | sed s/lib//`.o ${DIRTOP}/${DIRMACROS}/`basename $(@F) _${VER}.so | sed s/lib//`Dict.o `root-config --cflags --glibs` 1>/dev/null          @(${EGREEN} "Creating shared library: "${WHITE} "`basename $@`"; ${RESET})
166  #          @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} -I${DIRTOP} -I${PAM_YODA}/include/yoda/ -I${PAM_YODA}/include/utils/ ${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
167            @ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))
168    
169  #${MACROSLIBS}: ${MACROSRCS}  ${LIBCPPLIBS}: ${LIBSRCS} ${COBJS} ${FOBJS}
170  #       @(${EGREEN} "Compiling macro: "${WHITE} "$@"; ${RESET})  #
171  #       @echo '.include ${DIRTOP}/${DIRINC}' > build_so.txt  #       create .o
172  #       @echo '.include ${PAM_INC}' >> build_so.txt  #
173  #       @echo 'TString *junk=new TString();' >> build_so.txt          @(${EGREEN} "Compiling CPP file: "${WHITE} "`basename $(@F) _${VER}.so | sed s/lib//`.cpp"; ${RESET})
174  #       @echo '*junk=gSystem->GetDynamicPath();' >> build_so.txt          @${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_YODA}/include/utils/ -I${NROOTINC};
175  #       @echo '*junk+=":${DIRLIB}";' >> build_so.txt  #
176  #       @echo 'gSystem->SetDynamicPath(junk.Data());' >> build_so.txt  #       create .so
177  #       @echo 'char *lmac = gSystem->ExpandPathName("$$PAM_INC");'>>build_so.txt  #
178  #       @echo 'gInterpreter->AddIncludePath(lmac);'>>build_so.txt          @(${EGREEN} "Creating shared library: "${WHITE} "`basename $@`"; ${RESET})
179  #       @echo 'char *pamyoda = gSystem->ExpandPathName("$$PAM_YODA");' >>build_so.txt          @${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ -lg2c -I${DIRTOP}/${DIRINC} -I${DIRTOP} ${SUBINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -I${PAM_YODA}/include/utils/ ${DIRTOP}/${DIRLIB}/`basename $(@F) _${VER}.so | sed s/lib//`.o ${FOBJS} ${COBJS} 1>/dev/null
180  #       @echo 'stringstream incy;' >>build_so.txt          @ln -sf  ${DIRTOP}/${DIRLIB}/$(@F) ${DIRTOP}/${DIRLIB}/$(patsubst %_${VER}.so,%.so,$(@F))
 #       @echo 'incy.str("");' >>build_so.txt  
 #       @echo 'incy << pamyoda << "/include/yoda/";' >>build_so.txt  
 #       @echo 'gInterpreter->AddIncludePath(incy.str().c_str());' >>build_so.txt  
 #       @echo 'incy.str("");' >>build_so.txt  
 #       @echo 'incy << pamyoda << "/event/";'>>build_so.txt  
 #       @echo 'gInterpreter->AddIncludePath(incy.str().c_str());'>>build_so.txt  
 #       @echo 'gSystem->cd("'${DIRMACROS}'");' >> build_so.txt  
 #       @echo 'char *pamyodalib = gSystem->ExpandPathName("$$PAM_YODA");' >>build_so.txt  
 #       @echo 'stringstream libYODA;'>>build_so.txt  
 #       @echo 'libYODA.str("");' >>build_so.txt  
 #       @echo 'libYODA << pamyodalib << "/lib/libyoda.so";'>>build_so.txt  
 #       @echo 'gSystem->Load(libYODA.str().c_str());'>>build_so.txt  
 #       @echo 'libYODA.str("");' >>build_so.txt  
 ##      @echo 'libYODA << "${DIRTOP}/${DIRLIB}/libtrack_${VER}.so";'>>build_so.txt  
 ##      @echo 'gSystem->Load(libYODA.str().c_str());'>>build_so.txt  
 ##      @echo 'libYODA.str("");' >>build_so.txt  
 ##      @echo 'libYODA << "${DIRTOP}/${DIRLIB}/libtrack_C_${VER}.so";'>>build_so.txt  
 ##      @echo 'gSystem->Load(libYODA.str().c_str());'>>build_so.txt  
 ##      @echo 'libYODA.str("");' >>build_so.txt  
 ##      @echo 'libYODA << "${DIRTOP}/${DIRLIB}/libptlevel1_${VER}.so";'>>build_so.txt  
 ##      @echo 'gSystem->Load(libYODA.str().c_str());'>>build_so.txt  
 ##      @echo 'libYODA.str("");' >>build_so.txt  
 ##      @echo 'libYODA << "${DIRTOP}/${DIRLIB}/libptlevel1_C_${VER}.so";'>>build_so.txt  
 ##      @echo 'gSystem->Load(libYODA.str().c_str());'>>build_so.txt  
 ##      @echo 'libYODA.str("");' >>build_so.txt  
 ##      @echo 'libYODA << "${DIRTOP}/${DIRLIB}/libreadb2maps_${VER}.so";'>>build_so.txt  
 ##      @echo 'gSystem->Load(libYODA.str().c_str());'>>build_so.txt  
 ##      @echo 'libYODA.str("");' >>build_so.txt  
 ##      @echo 'libYODA << "${DIRTOP}/${DIRLIB}/libreadb2maps_C_${VER}.so";'>>build_so.txt  
 ##      @echo 'gSystem->Load(libYODA.str().c_str());'>>build_so.txt  
 ##      @echo 'libYODA.str("");' >>build_so.txt  
 ##      @echo 'libYODA << "${PAM_LIB}/caloclasses_h.so";'>>build_so.txt  
 ##      @echo 'gSystem->Load(libYODA.str().c_str());'>>build_so.txt  
 ##      @echo 'libYODA.str("");' >>build_so.txt  
 ##      @echo 'libYODA << "${PAM_LIB}/aclev1class_h.so";'>>build_so.txt  
 ##      @echo 'gSystem->Load(libYODA.str().c_str());'>>build_so.txt  
 #       if [ "$@" != "${DIRLIB}/FEVpathtoc_c_"${VER}".so" ]; then \  
 #       echo 'libYODA.str("");' >>build_so.txt ; \  
 #       echo 'libYODA << "'${DIRTOP}/${DIRLIB}'/FEVpathtoc_c_'${VER}'.so";'>>build_so.txt ; \  
 #       echo 'gSystem->Load(libYODA.str().c_str());'>>build_so.txt ; \  
 #       fi;  
 #       if [ "$@" != "${DIRLIB}/FEVpathtoc_cxx_"${VER}".so" ]; then \  
 #       ${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ ${DIRMACROS}/`basename $(@F) _cxx_${VER}.so`.cxx -lg2c -I${PAM_INC} -I${DIRTOP}/${DIRINC} -I${DIRTOP} -I${PAM_YODA}/include/yoda/ ${PAM_YODA}/lib/libyoda.so ${DIRTOP}/${DIRLIB}/FEVpathtoc_cxx_${VER}.so `root-config --cflags --glibs` 1>/dev/null; \  
 #       else \  
 #       ${CXX} ${CXXFLAGS} -Xlinker -soname=$(@F) -shared -o $@ ${DIRMACROS}/`basename $(@F) _cxx_${VER}.so`.cxx -lg2c -I${PAM_INC} -I${DIRTOP}/${DIRINC} -I${DIRTOP} -I${PAM_YODA}/include/yoda/ ${PAM_YODA}/lib/libyoda.so `root-config --cflags --glibs` 1>/dev/null; \  
 #       fi  
 #       @echo '.debug' >> build_so.txt  
 #       @echo '.L $(patsubst %_c_${VER}.so,%.c++,$(@F))' >> build_so.txt  
 #       @echo '.q' >> build_so.txt  
 #       @root -l -b 1>/dev/null  < build_so.txt  
 #       @mv -f ${DIRMACROS}/$(patsubst %_c_${VER}.so,%_c.so,$(@F)) ${DIRLIB}/$(@F)  
 #       @rm -f build_so.txt  
181    
182  ${CXXEXELIBS}: ${CXXEXEOBJS}  ${CXXEXELIBS}: ${CPPOBJS} ${COBJS} ${CXXEXEOBJS}
183          @(${EGREEN} "Creating exec file: "${WHITE} "$@"; ${RESET})          @(${EGREEN} "Creating exec file: "${WHITE} "$@"; ${RESET})
184          @${CXX} ${CXXFLAGS} -o ${DIRBIN}/$@ ${DIRBIN}/$@.o -I${DIRINC} -I${PAM_INC} -I${PAM_YODA}/include/yoda/ ${PAM_YODA}/lib/libyoda.so ${DIRTOP}/${DIRLIB}/libFEVpathtoc_${VER}.so ${DIRTOP}/${DIRLIB}/libFEVpamevcontrol_${VER}.so ${DIRTOP}/${DIRLIB}/lib$@_${VER}.so `root-config --cflags --glibs`  #       @${CXX} ${CXXFLAGS} -o ${DIRBIN}/$@ ${DIRLIB}/$@.o ${FULLROOTCLIBS} ${FULLLIBCPPLIBS} ${CPPOBJS} ${FOBJS} ${TRKOBJS} ${PAM_YODA}/lib/libyoda.so -I${DIRINC} ${SUBINC} -I${PAM_YODA}/include/yoda/ -lThread `root-config --cflags --glibs` `cernlib mathlib`
185  #       @${CXX} ${CXXFLAGS} -o ${DIRBIN}/$@ ${DIRBIN}/$@.o -I${DIRINC} -I${PAM_INC} -I${PAM_YODA}/include/yoda/ ${PAM_LIB}/caloclasses_h.so ${PAM_YODA}/lib/libyoda.so ${DIRTOP}/${DIRLIB}/FEVpathtoc_c_${VER}.so ${PAM_LIB}/aclev1class_h.so ${DIRTOP}/${DIRLIB}/libreadb2maps_${VER}.so ${DIRTOP}/${DIRLIB}/libreadb2maps_C_${VER}.so ${DIRTOP}/${DIRLIB}/libtrack_${VER}.so ${DIRTOP}/${DIRLIB}/libtrack_C_${VER}.so ${DIRTOP}/${DIRLIB}/libptlevel1_${VER}.so ${DIRTOP}/${DIRLIB}/libptlevel1_C_${VER}.so ${DIRTOP}/${DIRLIB}/$@_c_${VER}.so `root-config --cflags --glibs`  ##      @${CXX} ${CXXFLAGS} -o ${DIRBIN}/$@ ${DIRLIB}/$@.o ${FULLROOTCLIBS} ${FULLLIBCPPLIBS} ${TRKOBJS} ${CPPOBJS} ${COBJS} ${FOBJS} ${PAM_YODA}/lib/libyoda.so ${PAM_YODA}/lib/libutils.so ${PAM_LIB}/libPamLevel2.so -lThread `root-config --cflags --glibs` `cernlib mathlib`
186  #       @rm -f ${DIRSRC}/temp.cc          @${CXX} ${CXXFLAGS} -o ${DIRBIN}/$@ ${DIRLIB}/$@.o ${FULLROOTCLIBS} ${FULLLIBCPPLIBS} ${TRKOBJS} ${CPPOBJS} ${COBJS} ${FOBJS} ${PAM_YODA}/lib/libyoda.so ${PAM_LIB}/libPamLevel2.so -lThread `root-config --cflags --glibs` `doc/cernlib_pam mathlib`
187    
188  # A small target to check environmental variables  # A small target to check environmental variables
189  %_env:  %_env:
190          @${test_env}          @${test_env}
191    
192  .PHONY: install installdoc installlib installmacros installinc  .PHONY: install installdoc installlib installmacros installinc installexe installcmacro
193  .PHONY: clean depclean info mkbindir mklibdir testcern testpamenv test testcalocommon testroot2paw testmysql  .PHONY: clean depclean info mkbindir mklibdir testcern testpamenv test
194    
195  mkbindir: ${DIRBIN}  mkbindir: ${DIRBIN}
196  ${DIRBIN}:  ${DIRBIN}:
# Line 270  ${DIRLIB}: Line 201  ${DIRLIB}:
201          @${test_and_mk}          @${test_and_mk}
202    
203  # Here what has to be deleted in clean target  # Here what has to be deleted in clean target
204  clean: TOBEDEL=${DIRMACROS}/*.o ${DIRMACROS}/*Dict.cxx ${DIRMACROS}/*Dict.h ${FOBJS} ${FULLLIBS} ${DIRBIN}/${CXXEXELIBS} ${COBJS} ${CXXEXEOBJS} ${FULLLINKFLIBS} ${FULLLINKCLIBS}  clean: TOBEDEL= ${DIRSRC}/*.o ${DIRSRC}/*Dict.cpp ${DIRSRC}/*Dict.h ${FOBJS} ${FULLLIBS} ${DIRBIN}/${CXXEXELIBS} ${CPPOBJS} ${CXXEXEOBJS} ${FULLLINKCLIBS} ${FULLMACROCLIBS} ${FULLLINKMACROCLIBS} ${DIRSRC}/FEVVerl2.cpp ${DIRSRC}/FEVpathtoc.cpp
205  clean:  clean:
206          @${test_and_rm}          @${test_and_rm}
207    
# Line 285  forceinstall: install Line 216  forceinstall: install
216  upgrade: FORCE=-u  upgrade: FORCE=-u
217  upgrade: install  upgrade: install
218    
219  install: installlib installinc installmacros installcalib installdoc installexe installcmacro  install: installlib installinc installmacros installcalib installdoc installcmacro installexe
220    
221  installlib: LINK=y  installlib: LINK=y
222  installlib: TOBEMOVED= $(FULLLIBS:${DIRLIB}%=${PAM_LIB}%)  installlib: TOBEMOVED= $(FULLLIBS:${DIRLIB}%=${PAM_LIB}%)
# Line 324  installdoc: ORIGIN=${DIRDOC} Line 255  installdoc: ORIGIN=${DIRDOC}
255  installdoc:  installdoc:
256          @${test_and_cp}          @${test_and_cp}
257    
258    mkverpath:
259            @echo '#include <TSystem.h>' >  ${DIRTOP}/${DIRSRC}/FEVVerl2.cpp; echo ' char *FEVInfo(bool print){ if ( print ) printf("\nEvent Viewer flight package version: ${VER}\n\nCompiled on '${TODAY}' with: '${GCCVER}'\n\nOn: '${UNAMEA}'\n\n"); return("${VER}"); }' >>  ${DIRTOP}/${DIRSRC}/FEVVerl2.cpp
260            @sleep 0.8
261    
262    mkpathtoc:
263            @if [ "${PAM_CCO}" == "" ]; then echo '#include <TSystem.h>' >  ${DIRTOP}/${DIRSRC}/FEVpathtoc.cpp; echo ' const char *pathtocalibration(){ return((const char*)gSystem->Getenv("PAM_CALIB"));}' >>  ${DIRTOP}/${DIRSRC}/FEVpathtoc.cpp; echo ' const char *pathtoinclude(){ return((const char*)gSystem->Getenv("PAM_INC"));}' >>  ${DIRTOP}/${DIRSRC}/FEVpathtoc.cpp;  fi
264            @if [ "${PAM_CCO}" != "" ]; then echo '#include <TSystem.h>' >  ${DIRTOP}/${DIRSRC}/FEVpathtoc.cpp; echo ' const char *pathtocalibration(){ return((const char*)"'${PAM_CALIB}'/");}' >>  ${DIRTOP}/${DIRSRC}/FEVpathtoc.cpp; echo ' const char *pathtocalibration(){ return((const char*)"'${PAM_INC}'/");}' >>  ${DIRTOP}/${DIRSRC}/FEVpathtoc.cpp; fi
265            @sleep 0.5
266    
267    
268    
269    
270    
271  info:  info:
272          @echo " "          @echo " "
273          @${EGREEN} "Infos for package :" ${WHITE} ${PACKAGE}          @${EGREEN} "Infos for package :" ${WHITE} ${PACKAGE}
# Line 333  info: Line 277  info:
277          @${EGREEN} "             DOCS :" ${WHITE} ${DOCS}          @${EGREEN} "             DOCS :" ${WHITE} ${DOCS}
278          @${EGREEN} "             SRCS :" ${WHITE} ${SRCS}          @${EGREEN} "             SRCS :" ${WHITE} ${SRCS}
279          @${EGREEN} "           MACROS :" ${WHITE} ${MACROS}          @${EGREEN} "           MACROS :" ${WHITE} ${MACROS}
280            @${EGREEN} "          INCLUDE :" ${WHITE} ${INCLUDE}
281          @echo " "          @echo " "
282          @${RESET}          @${RESET}
283    
284  test: testpamenv  test: testpamenv
 #test: testpamenv testcernlib testmysql testcalocommon testroot2paw  
285    
286  testpamenv: ${PAM_ENV}  testpamenv: ${PAM_ENV}
287    
 testcernlib: cernlib root-config  
   
 testmysql: mysql_config  
   
 testcalocommon: '${PAM_BIN}'/calocommon  
         @if [ ${INSTCOMVER} -lt ${COMPCOMVER} ]; then ${ERED} " ERROR: EventViewer ${VER} requires package CALOCOMMON version ${COMMONVER} "; ${RESET} ; exit 1; fi  
   
 testroot2paw: '${PAM_BIN}'/GroundDataConvert  
         @if [ ${INSTR2PVER} -lt ${COMPR2PVER} ]; then ${ERED} " ERROR: EventViewer ${VER} requires package root2paw version ${R2PVER} "; ${RESET} ; exit 1; fi  
   
 mysql_config: OPT=--cflags  
 mysql_config:  
         @$(test_cmd)  
   
 mkpathtoc:  
         @if [ "${PAM_CCO}" == "" ]; then echo '#include <TSystem.h>' >  ${DIRTOP}/${DIRMACROS}/FEVpathtoc.cxx; echo ' const char *pathtocalibration(){ return((const char*)gSystem->Getenv("PAM_CALIB"));}' >>  ${DIRTOP}/${DIRMACROS}/FEVpathtoc.cxx; echo '  void info(){ printf("\nEventViewer package version: ${VER}\n\nCompiled on '${TODAY}' with: '${GCCVER}'\n\nOn: '${UNAMEA}'\n\n"); }' >>${DIRTOP}/${DIRMACROS}/FEVpathtoc.cxx; fi  
         @if [ "${PAM_CCO}" != "" ]; then echo '#include <TSystem.h>' >  ${DIRTOP}/${DIRMACROS}/FEVpathtoc.cxx; echo ' const char *pathtocalibration(){ return((const char*)"'${PAM_CALIB}'/");}' >>  ${DIRTOP}/${DIRMACROS}/FEVpathtoc.cxx;  echo '  void info(){ printf("\nEventViewer package version: ${VER}\n\nCompiled on '${TODAY}' with: '${GCCVER}'\n\nOn: '${UNAMEA}'\n\n"); }' >>${DIRTOP}/${DIRMACROS}/FEVpathtoc.cxx; fi  
         @sleep 0.5  
   
   
 '${PAM_BIN}'/calocommon:  
         @$(test_cmd)  
   
 '${PAM_BIN}'/GroundDataConvert: OPT=--version  
 '${PAM_BIN}'/GroundDataConvert:  
         @$(test_cmd)  
   
 cernlib:  
         @${test_cmd}  
   
288  root-config: OPT=--cflags  root-config: OPT=--cflags
289  root-config:  root-config:
290          @${test_cmd}          @${test_cmd}

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.23