#/////////////////////////////////////////////////// #// If working with a osc_vis kit, customize the #// two below lines in order to find CLHEP and #// Geant4 on your machine. It is assumed that #// CLHEP installation is of the form : #// ${CLHEP_home}/include #// ${CLHEP_home}/lib/libCLHEP-.[dylib,so] #// and Geant4 : #// ${g4_home}/include #// ${g4_home}/lib/libG4global.[dylib,so], etc.. #// It is assumed that the G4 global libs are #// available. #/////////////////////////////////////////////////// CLHEP_home=/usr/local/CLHEP/2.0.3.1 g4_home=/usr/local/geant4/8.2 HDF5_home=/usr/local/HDF5/1.6.5 # SNEMO : bhep_home=/Users/barrand/dev/exp/nemo/bhep/v1r4p2 snova_home=/Users/barrand/dev/exp/nemo/snova/v2r0p0 #/////////////////////////////////////////////////// #/////////////////////////////////////////////////// #/////////////////////////////////////////////////// g4_incs=-I$(CLHEP_home)/include -I$(g4_home)/include g4_libs=-L$(g4_home)/lib -lG4readout -lG4run -lG4event -lG4tracking -lG4processes -lG4digits_hits -lG4track -lG4particles -lG4geometry -lG4graphics_reps -lG4materials -lG4intercoms -lG4global -L$(CLHEP_home)/lib -lCLHEP-2.0.3.1 g4_vis_libs=-L$(g4_home)/lib -lG4interfaces -lG4Tree -lG4vis_management -lG4modeling g4lab_cppflags=-I../source $(g4_incs) `onx-config --cppflags` g4lab_libs=-L. -lG4LabUIOnX -lG4LabCore $(g4_libs) `onx-config --core_libs` bin=. src=../source apps=../applications #/////////////////////////////////////////////////// #// Platform /////////////////////////////////////// #/////////////////////////////////////////////////// platform=$(shell uname) ifeq ($(platform),Darwin) compiler=eval c++ linker=eval c++ app_linker=eval c++ -bind_at_load shlib_builder=eval c++ -dynamiclib -twolevel_namespace -undefined dynamic_lookup -dynamic -single_module dll_builder=eval c++ -bundle -twolevel_namespace -Wl,-headerpad_max_install_names -Wl,-headerpad,800 shlib_suffix=dylib dll_suffix=bundle dll_prefix= endif ifeq ($(platform),Linux) compiler=eval c++ linker=eval c++ app_linker=eval c++ shlib_builder=eval c++ -shared dll_builder=eval c++ -shared shlib_suffix=so dll_suffix=so dll_prefix=lib endif #/////////////////////////////////////////////////////////////////////////// all :: $(bin)/snovis_program $(bin)/snovis_snova @echo "snovis : all ok." #/////////////////////////////////////////////////////////////////////////// clean :: /bin/rm -f $(bin)/*.o;/bin/rm -f $(bin)/*.a;/bin/rm -f $(bin)/*.so;/bin/rm -f $(bin)/*.dylib;/bin/rm -f $(bin)/*.bundle;/bin/rm $(bin)/snovis_program $(bin)/snovis_snova include G4Lab.gmk #/////////////////////////////////////////////////////////////////////////// # dll snovis : #/////////////////////////////////////////////////////////////////////////// snovis_src = \ $(src)/Callbacks.cxx \ $(src)/InventorCallbacks.cxx \ $(src)/Layouts.cxx snovis_objs = $(patsubst $(src)/%.cxx,$(bin)/%.o,$(snovis_src)) snovis_cppflags=-I.. $(g4lab_cppflags) `onx-config --iv_cppflags` `aida-config --cppflags` snovis_linkopts=$(g4lab_libs) `onx-config --iv_libs` $(bin)/$(dll_prefix)snovis.$(dll_suffix) : $(snovis_objs) $(dll_builder) -o $(bin)/$(dll_prefix)snovis.$(dll_suffix) $(snovis_objs) $(snovis_linkopts) $(snovis_objs) : $(bin)/%.o : $(src)/%.cxx $(compiler) -c -o $@ $(snovis_cppflags) $< #/////////////////////////////////////////////////////////////////////////// # application snovis_program : #/////////////////////////////////////////////////////////////////////////// snovis_program_src = \ $(apps)/snovis_main.cxx snovis_program_objs = $(patsubst $(apps)/%.cxx,$(bin)/%.o,$(snovis_program_src)) snovis_program_cppflags=-I.. $(g4lab_cppflags) `aida-config --cppflags` -I$(HDF5_home)/include -I$(bhep_home) -I$(snova_home) -I$(snova_home)/source/SNvertex/include -I$(snova_home)/source/GeomUtils/include -I$(snova_home)/source/SNgeom2/include snovis_program_linkopts=-L$(snova_home)/bin_obuild -lsnova -lsngeom -lsnvertex -lgeomutils -L$(bhep_home)/bin_obuild -lbhep $(g4lab_libs) `onx-config --core_libs` `onx-config --iv_libs` -L${HDF5_home}/lib -lhdf5 $(bin)/snovis_program : $(bin)/libG4LabCore.$(shlib_suffix) $(bin)/libG4LabUIOnX.$(shlib_suffix) $(bin)/$(dll_prefix)G4Lab.$(dll_suffix) $(bin)/$(dll_prefix)snovis.$(dll_suffix) $(snovis_program_objs) $(app_linker) -o $(bin)/snovis_program $(snovis_program_objs) $(snovis_program_linkopts) $(snovis_program_objs) : $(bin)/%.o : $(apps)/%.cxx $(compiler) -c -o $@ $(snovis_program_cppflags) $< #/////////////////////////////////////////////////////////////////////////// # application snovis_snova : #/////////////////////////////////////////////////////////////////////////// snovis_snova_src = $(apps)/prog_snova2.cxx snovis_snova_objs = $(patsubst $(apps)/%.cxx,$(bin)/%.o,$(snovis_snova_src)) snovis_snova_cppflags=$(g4_incs) -I$(HDF5_home)/include -I$(bhep_home) -I$(snova_home) -I$(snova_home)/source/SNvertex/include -I$(snova_home)/source/GeomUtils/include -I$(snova_home)/source/SNgeom2/include snovis_snova_linkopts=-L$(snova_home)/bin_obuild -lsnova_ui -lsnova -lsngeom -lsnvertex -lgeomutils -L$(bhep_home)/bin_obuild -lbhep -L${HDF5_home}/lib -lhdf5 $(g4_vis_libs) $(g4_libs) -lz $(bin)/snovis_snova : $(snovis_snova_objs) $(app_linker) -o $(bin)/snovis_snova $(snovis_snova_objs) $(snovis_snova_linkopts) $(snovis_snova_objs) : $(bin)/%.o : $(apps)/%.cxx $(compiler) -c -o $@ $(snovis_snova_cppflags) $<