[26] | 1 | package snova |
---|
[107] | 2 | version v2r0p0 |
---|
[26] | 3 | |
---|
| 4 | #////////////////////////////////////////////////// |
---|
| 5 | # |
---|
| 6 | # This file assumes the following |
---|
| 7 | # directory structure : |
---|
| 8 | # snova/<version>/cmt |
---|
| 9 | # snova/<version>/source/GeomUtils/... |
---|
| 10 | # snova/<version>/source/SNgeom2/... |
---|
| 11 | # snova/<version>/source/snova/... |
---|
| 12 | # and a : |
---|
| 13 | # snova/<version>/snova |
---|
[48] | 14 | # containing a copy of the .h from the source/snova |
---|
| 15 | # directory. The creation of the |
---|
| 16 | # snova include directory can be done with |
---|
| 17 | # the cpincs.sh script. |
---|
[26] | 18 | # |
---|
| 19 | #////////////////////////////////////////////////// |
---|
| 20 | |
---|
| 21 | #////////////////////////////////////////////////// |
---|
| 22 | use bhep v1r* |
---|
[69] | 23 | use Geant4 v2r* cmt |
---|
[26] | 24 | #////////////////////////////////////////////////// |
---|
| 25 | |
---|
| 26 | build_strategy no_prototypes |
---|
| 27 | include_path none |
---|
| 28 | |
---|
[108] | 29 | include_dirs $(SNOVAROOT) $(SNOVAROOT)/source/GeomUtils/include $(SNOVAROOT)/source/SNgeom2/include $(SNOVAROOT)/source/SNvertex/include |
---|
[26] | 30 | |
---|
| 31 | #////////////////////////////////////////////////// |
---|
| 32 | |
---|
| 33 | library geomutils ../source/GeomUtils/src/*.cc |
---|
| 34 | macro geomutils_shlibflags "${CLHEP_linkopts} ${HDF5_linkopts} ${zlib_linkopts}" |
---|
| 35 | macro geomutils_linkopts "-L${SNOVAROOT}/$(CMTCONFIG) -lgeomutils" |
---|
| 36 | |
---|
| 37 | library sngeom ../source/SNgeom2/src/*.cc |
---|
[69] | 38 | macro sngeom_shlibflags "${geomutils_linkopts} ${bhep_linkopts} ${CLHEP_linkopts} ${HDF5_linkopts} ${zlib_linkopts}" |
---|
[26] | 39 | macro sngeom_linkopts "-L${SNOVAROOT}/$(CMTCONFIG) -lsngeom" |
---|
| 40 | |
---|
[69] | 41 | library snvertex ../source/SNvertex/src/*.cc |
---|
| 42 | #macro sngeom_shlibflags "${geomutils_linkopts} ${bhep_linkopts} ${CLHEP_linkopts} ${HDF5_linkopts} ${zlib_linkopts}" |
---|
| 43 | macro snvertex_linkopts "-L${SNOVAROOT}/$(CMTCONFIG) -lsnvertex" |
---|
| 44 | |
---|
[53] | 45 | library snova -s=../source/snova \ |
---|
[80] | 46 | # Do not have the below base/*.cc because of old_gen.cc and |
---|
| 47 | # OpenGLXVisManager.cc (keep libsnova as "batch" with no GUI and graphics). |
---|
[79] | 48 | # base/*.cc \ |
---|
| 49 | base/event.cc \ |
---|
| 50 | base/generator.cc \ |
---|
| 51 | base/run.cc \ |
---|
| 52 | base/snova_const.cc \ |
---|
| 53 | base/snova_mgr.cc \ |
---|
| 54 | base/stacking.cc \ |
---|
| 55 | base/stepping.cc \ |
---|
| 56 | base/stepping_verbose.cc \ |
---|
| 57 | base/tracking.cc \ |
---|
| 58 | # |
---|
[53] | 59 | geom/*.cc \ |
---|
| 60 | physics/*.cc \ |
---|
| 61 | vertex/*.cc |
---|
[108] | 62 | macro snova_cppflags "-I$(Geant4_include)" |
---|
[69] | 63 | macro snova_shlibflags "${CLHEP_linkopts} ${HDF5_linkopts} ${zlib_linkopts}" |
---|
[26] | 64 | macro snova_linkopts "-L${SNOVAROOT}/$(CMTCONFIG) -lsnova" |
---|
| 65 | |
---|
[78] | 66 | application prog_snova ../source/snova/prog_snova2.cxx use_linkopts='"${snova_linkopts} ${Geant4_interfaces_linkopts} ${Geant4_linkopts} ${snvertex_linkopts} ${sngeom_linkopts} ${geomutils_linkopts} ${bhep_linkopts} ${CLHEP_linkopts}"' |
---|
[26] | 67 | |
---|
| 68 | #////////////////////////////////////////////////// |
---|
| 69 | #/// compile, link flags ////////////////////////// |
---|
| 70 | #////////////////////////////////////////////////// |
---|
| 71 | private |
---|
| 72 | # WIN32 : /GR to enable RTTI and dynamic cast. |
---|
| 73 | # WIN32 : /GX to enable exception handling (for STL). |
---|
| 74 | macro_append cppflags "" WIN32 " /GX /GR" |
---|
| 75 | |
---|
| 76 | # DEBUG : |
---|
| 77 | #macro_append cflags " -g" WIN32 " /ZI /Od" |
---|
| 78 | #macro_append cppflags " -g" WIN32 " /ZI /Od" |
---|
| 79 | #macro_append cpplinkflags " -g" WIN32 " /DEBUG /VERBOSE:LIB" |
---|
| 80 | |
---|
| 81 | # OPTIMIZE : |
---|
| 82 | macro_append cflags " -O" WIN32 " /O2" |
---|
| 83 | macro_append cppflags " -O" WIN32 " /O2" |
---|
| 84 | macro_append cpplinkflags " -O" WIN32 "" |
---|
| 85 | |
---|
| 86 | macro build_library_links "true" WIN32 "" |
---|
| 87 | macro remove_library_links "true" WIN32 "" |
---|
| 88 | public |
---|
| 89 | |
---|
| 90 | #////////////////////////////////////////////////// |
---|
| 91 | #/// Run time ///////////////////////////////////// |
---|
| 92 | #////////////////////////////////////////////////// |
---|
| 93 | |
---|
| 94 | apply_pattern setup_paths |
---|
| 95 | |
---|