[10] | 1 | package MEMPHYS |
---|
[125] | 2 | version v7r0 |
---|
[10] | 3 | |
---|
[125] | 4 | #use OpenScientist du 28/03/2006 Slash/BatchLab/OnXLab |
---|
[99] | 5 | #message from COIN to use full OpenGL |
---|
| 6 | set COIN_FULL_INDIRECT_RENDERING "1" |
---|
| 7 | |
---|
| 8 | |
---|
[10] | 9 | branches run |
---|
| 10 | |
---|
| 11 | #////////////////////////////////////////////////// |
---|
| 12 | #/// Uses needed to build this package //////////// |
---|
| 13 | #////////////////////////////////////////////////// |
---|
| 14 | |
---|
[119] | 15 | #use ROOT v4r* -no_auto_imports |
---|
[99] | 16 | |
---|
[119] | 17 | use G4Lab v8r* |
---|
[10] | 18 | |
---|
[75] | 19 | use OnXLab v1r* |
---|
[10] | 20 | |
---|
| 21 | #////////////////////////////////////////////////// |
---|
| 22 | #/// Over Geant4 kernel and AIDA interfaces only // |
---|
| 23 | #////////////////////////////////////////////////// |
---|
| 24 | |
---|
| 25 | build_strategy no_prototypes |
---|
| 26 | include_path none |
---|
| 27 | |
---|
| 28 | include_dirs $(MEMPHYSROOT) |
---|
| 29 | |
---|
[62] | 30 | |
---|
| 31 | application test -group=debug -s=../source test.cxx |
---|
| 32 | |
---|
[10] | 33 | # Over Geant4 and AIDA only : |
---|
| 34 | library MEMPHYSCore ${G4Lab_libopts} -s=../source *.cxx |
---|
| 35 | |
---|
| 36 | #JEC 17/11/05 add the G4readout_incs to manage G4DigiManager |
---|
| 37 | macro MEMPHYSCore_cppflags "${G4Lab_Geant4_incs} ${G4readout_incs} ${G4particles_incs} ${G4processes_incs}" |
---|
| 38 | macro MEMPHYSCore_shlibflags "${G4Lab_Geant4_linkopts} ${LibCore_linkopts} ${dld_linkopts} ${cxxstd_linkopts}" |
---|
| 39 | macro MEMPHYSCore_linkopts "-L${MEMPHYSROOT}/$(Platform_bin) -lMEMPHYSCore" WIN32 "${MEMPHYSROOT}\$(Platform_bin)\MEMPHYSCore.lib" |
---|
| 40 | |
---|
| 41 | #////////////////////////////////////////////////// |
---|
| 42 | #/// DLD callbacks //////////////////////////////// |
---|
| 43 | #////////////////////////////////////////////////// |
---|
| 44 | |
---|
[75] | 45 | # Must not use Geant4 singletons if having not Geant4 shared libs. |
---|
| 46 | macro MEMPHYS_kind "dll" |
---|
[10] | 47 | library MEMPHYS -import=OpenInventor -s=../source/Callbacks Callbacks.cxx InventorCallbacks.cxx |
---|
| 48 | macro MEMPHYS_cppflags "${G4Lab_Geant4_incs}" |
---|
| 49 | macro MEMPHYS_shlibflags "${LibCore_linkopts} ${HEPVisPlotter_linkopts} ${HEPVisDetector_linkopts} ${HEPVisGeometry_linkopts} ${HEPVisUtils_linkopts} ${freetype_linkopts} ${jpeg_linkopts} ${dvi2bitmap_linkopts} ${OpenInventor_linkopts} ${OpenGL_linkopts} ${Xext_linkopts} ${X11_linkopts} ${dld_linkopts} ${cxxstd_linkopts}" |
---|
| 50 | |
---|
| 51 | #////////////////////////////////////////////////// |
---|
| 52 | #/// Application "a la Geant4 examples" /////////// |
---|
| 53 | #////////////////////////////////////////////////// |
---|
| 54 | |
---|
| 55 | # Over Geant4 and AIDA only : |
---|
[75] | 56 | application MEMPHYS_batch -import=expat ../applications/MEMPHYS_batch.cxx use_linkopts='"${MEMPHYSCore_linkopts} ${G4physics_lists_hadronic_linkopts} ${G4Lab_Geant4_linkopts} ${aida_config_libs} ${LibCore_linkopts} ${math_linkopts} ${dld_linkopts}"' |
---|
[10] | 57 | macro MEMPHYS_batch_cppflags "${MEMPHYSCore_cppflags} ${G4physics_lists_hadronic_incs}" |
---|
| 58 | |
---|
[167] | 59 | # Over AIDA only : |
---|
| 60 | application MEMPHYS_analysis ../applications/MEMPHYS_analysis.cxx use_linkopts='"$(aida_config_libs)"' |
---|
| 61 | |
---|
[10] | 62 | # Over G4Lab : |
---|
[119] | 63 | application MEMPHYS_session -import=OpenInventor -import=expat ../applications/MEMPHYS_session.cxx ../applications/HitsCollectionAccessor.cxx use_linkopts='"${MEMPHYSCore_linkopts} ${G4physics_lists_hadronic_linkopts} ${G4LabUIOnX_linkopts} ${G4LabCore_linkopts} ${G4Lab_Geant4_linkopts} ${G4LabHDUMMY_linkopts} ${HEPVisPlotter_linkopts} ${HEPVisDetector_linkopts} ${HEPVisGeometry_linkopts} ${HEPVisUtils_linkopts} ${freetype_linkopts} ${jpeg_linkopts} ${dvi2bitmap_linkopts} ${OpenInventor_linkopts} ${OnXCore_linkopts} ${LibXML_linkopts} ${expat_linkopts} ${LibZip_linkopts} ${zlib_linkopts} ${LibCore_linkopts} ${dld_linkopts} ${cxxstd_linkopts} ${Windows_linkopts} ${OpenGL_linkopts} ${Xext_linkopts} ${X11_linkopts} "' |
---|
[10] | 64 | macro MEMPHYS_session_cppflags "${G4Lab_Geant4_incs} ${MEMPHYS_batch_cppflags}" |
---|
| 65 | |
---|
| 66 | |
---|
| 67 | #////////////////////////////////////////////////// |
---|
[189] | 68 | #/// Things using ROOT //////////////////////////// |
---|
[10] | 69 | #////////////////////////////////////////////////// |
---|
[189] | 70 | use ROOT v1r* Interfaces |
---|
| 71 | |
---|
| 72 | # Example of ROOT program to work on a MEMPHYS.root file : |
---|
| 73 | #application MEMPHYS_analysis_ROOT -group=ROOT ../applications/MEMPHYS_analysis_ROOT.cxx use_linkopts='"${ROOT_Tree_linkopts} ${ROOT_Hist_linkopts} ${ROOT_Matrix_linkopts} ${ROOT_Core_linkopts} ${ROOT_Cint_linkopts} ${dld_linkopts} ${math_linkopts}"' |
---|
| 74 | |
---|
| 75 | # Declare AIDA to rootcint. |
---|
| 76 | # See scripts/ROOT/aida.C for a usage example. |
---|
| 77 | |
---|
| 78 | macro AIDA_cintflags "-I${AIDAROOT}/src/cpp" |
---|
| 79 | macro AIDA_LinkDef_h "../source/ROOT/LinkDef.h" |
---|
| 80 | document rootcint MEMPHYS_rootcint_AIDA -group=ROOT ${AIDAROOT}/src/cpp/AIDA/AIDA.h |
---|
| 81 | |
---|
| 82 | library MEMPHYSAIDADict -group=ROOT -import=ROOT ${dict}/AIDADict.cpp |
---|
| 83 | macro MEMPHYSAIDADict_shlibflags "$(aida_config_libs) ${ROOT_Core_linkopts} ${ROOT_Cint_linkopts}" |
---|
| 84 | |
---|
[10] | 85 | #////////////////////////////////////////////////// |
---|
[189] | 86 | #////////////////////////////////////////////////// |
---|
| 87 | #////////////////////////////////////////////////// |
---|
[10] | 88 | |
---|
| 89 | private |
---|
| 90 | macro build_library_links "true" WIN32 "" |
---|
| 91 | macro remove_library_links "true" WIN32 "" |
---|
| 92 | |
---|
| 93 | # WIN32 : /GR to enable RTTI and dynamic cast. |
---|
| 94 | # WIN32 : /GX to enable exception handling (for STL). |
---|
| 95 | macro_append cppflags "" WIN32 " /GX /GR" |
---|
| 96 | |
---|
| 97 | # DEBUG : |
---|
| 98 | #macro_append cflags " -g" WIN32 " /ZI /Od" |
---|
| 99 | #macro_append cppflags " -g" WIN32 " /ZI /Od" |
---|
| 100 | #macro_append cpplinkflags " -g" WIN32 " /DEBUG" |
---|
| 101 | |
---|
| 102 | # OPTIMIZE : |
---|
| 103 | macro_append cflags " -O" WIN32 " /O2" |
---|
| 104 | macro_append cppflags " -O" WIN32 " /O2" |
---|
| 105 | macro_append cpplinkflags " -O" WIN32 "" |
---|
| 106 | public |
---|
| 107 | |
---|
| 108 | #////////////////////////////////////////////////// |
---|
| 109 | #// Run time ////////////////////////////////////// |
---|
| 110 | #////////////////////////////////////////////////// |
---|
| 111 | |
---|
[75] | 112 | apply_pattern Platform_paths |
---|
[10] | 113 | |
---|
| 114 | |
---|