1 | package MEMPHYS |
---|
2 | version v7r0 |
---|
3 | |
---|
4 | #use OpenScientist du 28/03/2006 Slash/BatchLab/OnXLab |
---|
5 | #message from COIN to use full OpenGL |
---|
6 | set COIN_FULL_INDIRECT_RENDERING "1" |
---|
7 | |
---|
8 | |
---|
9 | branches run |
---|
10 | |
---|
11 | #////////////////////////////////////////////////// |
---|
12 | #/// Uses needed to build this package //////////// |
---|
13 | #////////////////////////////////////////////////// |
---|
14 | |
---|
15 | #use ROOT v4r* -no_auto_imports |
---|
16 | |
---|
17 | use G4Lab v8r* |
---|
18 | |
---|
19 | use OnXLab v1r* |
---|
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 | |
---|
30 | |
---|
31 | application test -group=debug -s=../source test.cxx |
---|
32 | |
---|
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 | |
---|
45 | # Must not use Geant4 singletons if having not Geant4 shared libs. |
---|
46 | macro MEMPHYS_kind "dll" |
---|
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 : |
---|
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}"' |
---|
57 | macro MEMPHYS_batch_cppflags "${MEMPHYSCore_cppflags} ${G4physics_lists_hadronic_incs}" |
---|
58 | |
---|
59 | # Over AIDA only : |
---|
60 | application MEMPHYS_analysis ../applications/MEMPHYS_analysis.cxx use_linkopts='"$(aida_config_libs)"' |
---|
61 | |
---|
62 | # Over G4Lab : |
---|
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} "' |
---|
64 | macro MEMPHYS_session_cppflags "${G4Lab_Geant4_incs} ${MEMPHYS_batch_cppflags}" |
---|
65 | |
---|
66 | |
---|
67 | #////////////////////////////////////////////////// |
---|
68 | #/// Things using ROOT //////////////////////////// |
---|
69 | #////////////////////////////////////////////////// |
---|
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 | |
---|
85 | #////////////////////////////////////////////////// |
---|
86 | #////////////////////////////////////////////////// |
---|
87 | #////////////////////////////////////////////////// |
---|
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 | |
---|
112 | apply_pattern Platform_paths |
---|
113 | |
---|
114 | |
---|