source: snovis/head/build/build @ 101

Last change on this file since 101 was 6, checked in by barrand, 17 years ago
  • Property svn:executable set to *
File size: 8.3 KB
Line 
1#!/bin/sh -f
2
3platform=`uname`
4
5uname_s=`uname -s`
6uname_m=`uname -m`
7platform_nemo="${uname_s}-${uname_m}"
8
9# Customize the below xxx_home to reach used packages :
10osc_home="/Users/barrand/OpenScientist/v16r0"
11bhep_home="/Users/barrand/dev/exp/nemo/bhep/v1r4p1/${platform}"
12HDF5_home=/usr/local/HDF5/1.6.5
13CLHEP_home=/usr/local/CLHEP/2.0.3.1
14G4_home=/geant4/geant4.8.2
15GeomUtils_home="/Users/barrand/dev/exp/nemo/SNgeom/v0r1p0/build_area/GeomUtils"
16SNgeom2_home="/Users/barrand/dev/exp/nemo/SNgeom/v0r1p0/build_area/SNgeom2"
17snova_home="/Users/barrand/dev/exp/nemo/SNgeom/v0r1p0/build_area/snova"
18
19. ${osc_home}/aida-setup.sh
20
21if test "`onx-config --version`" = "" ; then
22  echo "onx-config not available."
23  exit
24fi
25
26if test "`aida-config --version`" = "" ; then
27  echo "aida-config not available."
28  exit
29fi
30
31if test "`g4lab-config --version`" = "" ; then
32  echo "g4lab-config not available."
33  exit
34fi
35
36#args=$*
37obuild_set_x=no
38
39do_snova=yes
40do_snovis=yes
41do_prog_snova=yes
42do_snovis_session=yes
43
44while test $# -ge 1 ; do
45  case $1 in
46    -h) 
47        echo "Usage :"
48        echo "  UNIX> ./build [Options] [Target]"
49        echo "Options :"
50        echo "  -x : execute with set -x."
51        echo "Target :"
52        echo "  If no option is specify and a ending"
53        echo " string is given ; this string is given"
54        echo " to a find command of the form :"
55        echo '    find ./sh -name "*target*" -exec {} \;'
56        echo " in order to execute selected scripts under"
57        echo " the sh directory."
58        echo "Examples :"
59        echo "  UNIX> sh/build app"
60        echo "  UNIX> sh/build -v _lib"
61        echo "  UNIX> sh/build -v -g dll_"
62        echo ""
63        exit ;;
64    -x) obuild_set_x=yes;obuild_args="${obuild_args} $1" ;;
65    -*) echo "unknwon option : $1" ; exit ;;
66     *) if [ $# = 1 ] ; then
67          if [ $1 = all ] ; then
68            do_snova=yes
69            do_snovis=yes
70            do_prog_snova=yes
71            do_snovis_session=yes
72          elif [ $1 = snova ] ; then
73            do_snova=yes
74            do_snovis=no
75            do_prog_snova=no
76            do_snovis_session=no
77          elif [ $1 = snovis ] ; then
78            do_snovis=yes
79            do_snova=no
80            do_prog_snova=no
81            do_snovis_session=no
82          elif [ $1 = prog_snova ] ; then
83            do_prog_snova=yes
84            do_snova=no
85            do_snovis=no
86            do_snovis_session=no
87          elif [ $1 = sess ] ; then
88            do_snovis_session=yes
89            do_snova=no
90            do_snovis=no
91            do_prog_snova=no
92          fi
93        else         
94          echo "unknwon option : $1"
95          exit
96        fi
97        ;;
98  esac
99  shift
100done
101
102if [ ${obuild_set_x} = yes ] ; then
103  set -x
104fi
105
106compiler=c++
107
108bin="../${platform}"
109/bin/mkdir -p ${bin}
110
111# snova library :
112if [ ${do_snova} = yes ] ; then
113
114snova_source="${snova_home}"
115
116cppflags=""
117#cppflags="${cppflags} -g -Wall"
118cppflags="${cppflags} -I${HDF5_home}/include -I${CLHEP_home}/include -I${bhep_home}/include -I${G4_home}/include"
119cppflags="${cppflags} -I${GeomUtils_home}/include"
120cppflags="${cppflags} -I${SNgeom2_home}/include"
121cppflags="${cppflags} -I${snova_home}"
122
123eval ${compiler} -c ${cppflags} -o ${bin}/snova_const.o ${snova_source}/base/snova_const.cc
124eval ${compiler} -c ${cppflags} -o ${bin}/event.o ${snova_source}/base/event.cc
125eval ${compiler} -c ${cppflags} -o ${bin}/generator.o ${snova_source}/base/generator.cc
126eval ${compiler} -c ${cppflags} -o ${bin}/run.o ${snova_source}/base/run.cc
127eval ${compiler} -c ${cppflags} -o ${bin}/stepping.o ${snova_source}/base/stepping.cc
128eval ${compiler} -c ${cppflags} -o ${bin}/stepping_verbose.o ${snova_source}/base/stepping_verbose.cc
129eval ${compiler} -c ${cppflags} -o ${bin}/tracking.o ${snova_source}/base/tracking.cc
130eval ${compiler} -c ${cppflags} -o ${bin}/stacking.o ${snova_source}/base/stacking.cc
131eval ${compiler} -c ${cppflags} -o ${bin}/gen_vtx.o ${snova_source}/vertex/gen_vtx.cc
132eval ${compiler} -c ${cppflags} -o ${bin}/visibilities2.o ${snova_source}/geom/visibilities2.cc
133eval ${compiler} -c ${cppflags} -o ${bin}/nemo_field2.o ${snova_source}/geom/nemo_field2.cc
134eval ${compiler} -c ${cppflags} -o ${bin}/materials.o ${snova_source}/geom/materials.cc
135eval ${compiler} -c ${cppflags} -o ${bin}/geometry2.o ${snova_source}/geom/geometry2.cc
136eval ${compiler} -c ${cppflags} -o ${bin}/physics.o ${snova_source}/physics/physics.cc
137
138objs="${bin}/snova_const.o ${bin}/event.o ${bin}/generator.o ${bin}/run.o ${bin}/stacking.o ${bin}/stepping.o ${bin}/stepping_verbose.o ${bin}/tracking.o ${bin}/geometry2.o ${bin}/materials.o ${bin}/nemo_field2.o ${bin}/visibilities2.o ${bin}/physics.o ${bin}/gen_vtx.o"
139
140#/bin/rm -f ${bin}/libsnova.a
141#ar cr ${bin}/libsnova.a ${objs}
142
143if test `uname` = "Darwin" ; then
144/bin/rm -f ${bin}/libsnova.dylib
145eval c++ -dynamiclib -twolevel_namespace -undefined dynamic_lookup -dynamic -single_module -o ${bin}/libsnova.dylib ${objs}
146fi
147
148if test `uname` = "Linux" ; then
149/bin/rm -f ${bin}/libsnova.so
150eval g++ -shared -o ${bin}/libsnova.dylib ${objs}
151fi
152
153fi
154
155# snovis dll :
156if [ ${do_snovis} = yes ] ; then
157
158cppflags="-I.."
159cppflags="${cppflags} `g4lab-config --cppflags`"
160cppflags="${cppflags} `onx-config --iv_cppflags`"
161cppflags="${cppflags} `aida-config --cppflags`"
162
163eval ${compiler} -c ${cppflags} -o ${bin}/Callbacks.o ../source/Callbacks.cxx
164eval ${compiler} -c ${cppflags} -o ${bin}/InventorCallbacks.o ../source/InventorCallbacks.cxx
165eval ${compiler} -c ${cppflags} -o ${bin}/Layouts.o ../source/Layouts.cxx
166
167objs="${bin}/Callbacks.o ${bin}/InventorCallbacks.o ${bin}/Layouts.o"
168
169libs=""
170libs="${libs} `g4lab-config --libs`"
171libs="${libs} `onx-config --iv_libs`"
172
173if test `uname` = "Darwin" ; then
174/bin/rm -f ${bin}/snovis.bundle
175eval c++ -bundle -twolevel_namespace -Wl,-headerpad_max_install_names -Wl,-headerpad,800 -o ${bin}/snovis.bundle ${objs} ${libs}
176fi
177
178if test `uname` = "Linux" ; then
179/bin/rm -f ${bin}/libsnovis.so
180eval g++ -shared -o ${bin}/libsnovis.so ${objs} ${libs}
181fi
182
183fi
184
185# prog_snova application :
186if [ ${do_prog_snova} = yes ] ; then
187
188cppflags=""
189#cppflags="${cppflags} -g"
190cppflags="${cppflags} -I${snova_home}"
191cppflags="${cppflags} -I${SNgeom2_home}/include"
192cppflags="${cppflags} -I${GeomUtils_home}/include"
193cppflags="${cppflags} -I${bhep_home}/include"
194cppflags="${cppflags} -I${G4_home}/include"
195cppflags="${cppflags} -I${HDF5_home}/include"
196cppflags="${cppflags} -I${CLHEP_home}/include"
197
198libs="-L${bin} -lsnova"
199libs="${libs} -L${SNgeom2_home}/${platform_nemo}/lib -lsngeom"
200libs="${libs} -L${GeomUtils_home}/${platform_nemo}/lib -lgeomutils"
201libs="${libs} -L${bhep_home}/lib -lbhep"
202libs="${libs} -L${G4_home}/Darwin/lib/Darwin-g++ -lG4interfaces -lG4physicslists -lG4readout -lG4run -lG4event -lG4tracking -lG4processes -lG4digits_hits -lG4track -lG4particles -lG4geometry -lG4graphics_reps -lG4materials -lG4intercoms -lG4global"
203libs="${libs} -L${CLHEP_home}/lib -lCLHEP"
204libs="${libs} -L${HDF5_home}/lib -lhdf5"
205libs="${libs} -lz"
206#echo ${libs}
207
208opts=
209#opts="${opts} -g"
210#if test `uname` = "Darwin" ; then
211#opts="${opts} -bind_at_load -multiply_defined suppress"
212#fi
213
214/bin/rm -f ${bin}prog_snova
215eval ${compiler} -c ${cppflags} -o ${bin}/prog_snova.o ../applications/prog_snova.cc
216eval ${compiler} ${opts} -o ${bin}/prog_snova ${bin}/prog_snova.o ${libs}
217
218fi
219
220# snovis_session application :
221if [ ${do_snovis_session} = yes ] ; then
222
223cppflags=""
224#cppflags="${cppflags} -g"
225cppflags="${cppflags} -I${snova_home}"
226cppflags="${cppflags} -I${SNgeom2_home}/include"
227cppflags="${cppflags} -I${GeomUtils_home}/include"
228cppflags="${cppflags} -I${bhep_home}/include"
229cppflags="${cppflags} -I${HDF5_home}/include"
230cppflags="${cppflags} `g4lab-config --cppflags`"
231cppflags="${cppflags} `aida-config --cppflags`"
232
233libs="-L${bin} -lsnova"
234libs="${libs} -L${SNgeom2_home}/${platform_nemo}/lib -lsngeom"
235libs="${libs} -L${GeomUtils_home}/${platform_nemo}/lib -lgeomutils"
236libs="${libs} -L${bhep_home}/lib -lbhep"
237libs="${libs} `g4lab-config --libs`"
238libs="${libs} `onx-config --iv_libs`"
239#libs="${libs} -L${CLHEP_home}/lib -lCLHEP"
240libs="${libs} -L${HDF5_home}/lib -lhdf5"
241libs="${libs} -lz"
242#echo ${libs}
243
244opts=
245#opts="${opts} -g"
246if test `uname` = "Darwin" ; then
247opts="${opts} -bind_at_load -multiply_defined suppress"
248fi
249
250eval ${compiler} -c ${cppflags} -o ${bin}/snovis_session.o ../applications/snovis_session.cc
251/bin/rm -f ${bin}snovis_session
252eval ${compiler} ${opts} -o ${bin}/snovis_session ${bin}/snovis_session.o ${libs}
253
254fi
255
256find ${bin} -name '*.o' -exec /bin/rm {} \;
257
Note: See TracBrowser for help on using the repository browser.