1 |
mocchiut |
1.1 |
#!/bin/bash --norc |
2 |
|
|
THISDIR=`pwd` |
3 |
|
|
if [ $# -gt 0 ]; then |
4 |
|
|
I=1 |
5 |
|
|
NOENV="" |
6 |
|
|
INDIR="" |
7 |
|
|
YODA="" |
8 |
|
|
while [ $I -le $# ]; do |
9 |
|
|
if [ $I -eq 1 ]; then |
10 |
|
|
INPUT=$1 |
11 |
|
|
fi |
12 |
|
|
if [ $I -eq 2 ]; then |
13 |
|
|
INPUT=$2 |
14 |
|
|
fi |
15 |
|
|
if [ $I -eq 3 ]; then |
16 |
|
|
INPUT=$3 |
17 |
|
|
fi |
18 |
|
|
if [ $I -eq 4 ]; then |
19 |
|
|
INPUT=$4 |
20 |
|
|
fi |
21 |
|
|
if [ $I -eq 5 ]; then |
22 |
|
|
INPUT=$5 |
23 |
|
|
fi |
24 |
|
|
if [ $INPUT == "--clean" ]; then |
25 |
|
|
echo "" |
26 |
|
|
echo "" |
27 |
|
|
echo "============= MAKE DISTCLEAN ==================" |
28 |
|
|
echo "" |
29 |
|
|
make distclean |
30 |
|
|
cd $THISDIR &>/dev/null |
31 |
|
|
exit 0; |
32 |
|
|
fi |
33 |
|
|
if [ $INPUT == "--no-env" ]; then |
34 |
|
|
NOENV="1" |
35 |
|
|
fi |
36 |
|
|
if [ $INPUT == "--help" ] || [ $INPUT == "-h" ]; then |
37 |
|
|
echo "" |
38 |
|
|
echo " Usage: ./install.sh [options] " |
39 |
|
|
echo "" |
40 |
|
|
echo " Options: " |
41 |
|
|
echo "" |
42 |
|
|
echo " --no-env : compile and install without PAMELA environmental setup. " |
43 |
|
|
echo " In this case only standalone program will work and it will" |
44 |
|
|
echo " not possible to use the ROOT macros (they will NOT be " |
45 |
|
|
echo " installed). Notice that the executables will statically " |
46 |
|
|
echo " search for the calibration files in the given path." |
47 |
|
|
echo " If this option is set it is mandatory to give also" |
48 |
|
|
echo " the --install-dir and --with-yoda options." |
49 |
|
|
echo "" |
50 |
|
|
echo " --install-dir=[directory] : the directory were to install programs." |
51 |
|
|
echo " If not existing the following subdirectories will be created:" |
52 |
|
|
echo " lib/ include/ calib/ doc/ bin/" |
53 |
|
|
echo " To be able to use the compiled program you will need to add" |
54 |
|
|
echo " the [directory]/lib/ directory to your ld.so.conf file or to" |
55 |
|
|
echo " the LD_CONFIG_PATH environmental variable." |
56 |
|
|
echo "" |
57 |
|
|
echo " --with-yoda=[directory] : path to the YODA source. To compile" |
58 |
|
|
echo " programs you need the YODA header files that must be found in" |
59 |
|
|
echo " [directory]/include/yoda/ and the YODA library that must be in" |
60 |
|
|
echo " [directory]/lib/ ." |
61 |
|
|
echo "" |
62 |
|
|
echo " To compile and install using the PAMELA environmental setup you do not" |
63 |
|
|
echo " need any option and, if given, they will not be considered." |
64 |
|
|
echo "" |
65 |
|
|
echo "" |
66 |
|
|
exit 0 |
67 |
|
|
fi |
68 |
|
|
TEST=`echo $INPUT | sed 's/--install-dir=//g'` |
69 |
|
|
if [ $TEST != $INPUT ]; then |
70 |
|
|
INDIR=$TEST |
71 |
|
|
fi |
72 |
|
|
TEST=`echo $INPUT | sed 's/--with-yoda=//g'` |
73 |
|
|
if [ $TEST != $INPUT ]; then |
74 |
|
|
YODA=$TEST |
75 |
|
|
fi |
76 |
|
|
let I=$I+1 |
77 |
|
|
done |
78 |
|
|
if [ $NOENV ]; then |
79 |
|
|
if [ $YODA ]; then |
80 |
|
|
if [ $INDIR ]; then |
81 |
|
|
echo "" |
82 |
|
|
echo " Compiling and installing software _WITHOUT_ environmental setup " |
83 |
|
|
echo "" |
84 |
|
|
echo " WARNING: only standalone programs will work " |
85 |
|
|
echo "" |
86 |
|
|
echo "" |
87 |
|
|
rm -rf ${THISDIR}/target |
88 |
|
|
mkdir ${THISDIR}/target |
89 |
|
|
mkdir ${THISDIR}/target/macros |
90 |
|
|
unset PAM_CCO |
91 |
|
|
export PAM_CCO=1 |
92 |
|
|
unset PAM_MACROS |
93 |
|
|
export PAM_MACROS=${THISDIR}/target/macros |
94 |
|
|
unset PAM_YODA |
95 |
|
|
export PAM_YODA=$INDIR |
96 |
|
|
if [ $YODA ]; then |
97 |
|
|
unset PAM_YODA |
98 |
|
|
export PAM_YODA=$YODA |
99 |
|
|
fi; |
100 |
|
|
if [ ! -d $INDIR ]; then |
101 |
|
|
mkdir $INDIR |
102 |
|
|
fi |
103 |
|
|
if [ ! -d $INDIR/bin/ ]; then |
104 |
|
|
mkdir $INDIR/bin/ |
105 |
|
|
fi |
106 |
|
|
unset PAM_BIN |
107 |
|
|
export PAM_BIN=$INDIR/bin/ |
108 |
|
|
if [ ! -d $INDIR/lib/ ]; then |
109 |
|
|
mkdir $INDIR/lib/ |
110 |
|
|
fi |
111 |
|
|
unset PAM_LIB |
112 |
|
|
export PAM_LIB=$INDIR/lib/ |
113 |
|
|
if [ ! -d $INDIR/include/ ]; then |
114 |
|
|
mkdir $INDIR/include/ |
115 |
|
|
fi |
116 |
|
|
unset PAM_INC |
117 |
|
|
export PAM_INC=$INDIR/include/ |
118 |
|
|
if [ ! -d $INDIR/calib/ ]; then |
119 |
|
|
mkdir $INDIR/calib/ |
120 |
|
|
fi |
121 |
|
|
unset PAM_CALIB |
122 |
|
|
export PAM_CALIB=$INDIR/calib/ |
123 |
|
|
if [ ! -d $INDIR/doc/ ]; then |
124 |
|
|
mkdir $INDIR/doc/ |
125 |
|
|
fi |
126 |
|
|
unset PAM_DOC |
127 |
|
|
export PAM_DOC=$INDIR/doc/ |
128 |
|
|
fi |
129 |
|
|
fi; |
130 |
|
|
else |
131 |
|
|
echo "" |
132 |
|
|
echo " Compiling and installing software _USING_ the environmental setup " |
133 |
|
|
fi; |
134 |
|
|
else |
135 |
|
|
echo "" |
136 |
|
|
echo " Compiling and installing software _USING_ the environmental setup " |
137 |
|
|
fi; |
138 |
|
|
echo "" |
139 |
|
|
echo " WARNING: you will need to add ${PAM_LIB} " |
140 |
|
|
echo " to your LD_LIBRARY_PATH or to the /etc/ld.so.conf file" |
141 |
|
|
echo " You may also want to add ${PAM_BIN} to your PATH " |
142 |
|
|
echo "" |
143 |
|
|
sleep 5 |
144 |
|
|
# |
145 |
|
|
unset ARCH |
146 |
|
|
export ARCH=`uname` |
147 |
|
|
export THISDIR=`pwd` |
148 |
|
|
export LD_LIBRARY_PATH==$LD_LIBRARY_PATH:$PAM_LIB:$PAM_YODA/lib:$ROOTSYS/lib |
149 |
|
|
echo "" |
150 |
|
|
echo "" |
151 |
|
|
echo "============= COMPILING AND INSTALLING THE CALOQLOOK PACKAGE =================" |
152 |
|
|
echo "" |
153 |
|
|
make distclean all upgrade |
154 |
|
|
cd $THISDIR &>/dev/null |
155 |
|
|
# |
156 |
|
|
rm -rf ${THISDIR}/target |