######################################################################### # # Makefile for HADES GEANT package # # Creates library $(LOCLIB) and $(EXE) with automatic update of # object files (sensitive to F files) by typing: # make exe # make lib # make solib # # - Oracle flag (WITHORACLE): # Geometry data are read from data base else from file # - GEANT flag (WITHGEANT): Geometry is implemented in GEANT, else the # required transformations are executed without calling # GEANT routines (GSVOLU, GSPOS, etc.) # - ROOT flag (WITHROOT): gives support for ROOT HTree files # # 97/02/11 Heike Schoen # last modified on 5/6/2000 by R.Holzmann ######################################################################### #----------------------------------------- # Precompiler Flags are defined in geantdef.h. This file has to # be included in all files where precompiler flags are used. # With "awk" geantdef.h is converted to a file geantdef.hawk, # which is automatically included in this makefile. # #---------------------------------------------------------------------- PRECOMP_DEF = geantdef include $(PRECOMP_DEF).hawk #---------------------------------------------------------------------- ## List of source-files to be included: C_SOURCE, CC_SOURCE, F_SOURCE #---------------------------------------------------------------------- F_SOURCE = $(wildcard *.F) hadgeant.f CC_SOURCE = $(wildcard *.cc) #---------------------------------------------------------------------- ## define name of lib and exe: Change LOCLIB for your # local library. #---------------------------------------------------------------------- EXE = hgeant LOCLIB = libgbase.a SOLIB = libgeantkine.so GEANTOBJ = hgeant.o #GEANTOBJ += range.o uglast.o uginit.o gukine.o gustep.o gudigi.o gdecay.o # # nucrec.o added because of bug fix # # objects to take from local directory, these ones will be taken # also if they exist in other libraries: extract them first from your # local library with ar x $LOCLIB locobj.o # where $LOCLIB is the name of your local library #---------------------------------------------------------------------- LOC_OBJ = #---------------------------------------------------------------------- ## makegeant.mk contains list of libraries /directories and objects # for GEANT and creates library and executable #---------------------------------------------------------------------- include $(HALO)/$(HCVS_LEVEL)/adm/makegeant.mk #include $(HALO)/packages/adm/test/makegeant.mk ifdef WITHROOT #---------------------------------------------------------------------- # generate ROOT class dictionary # CC_SOURCE += kineCint.cc LIBH = hgeantclass.h kinelinkdef.h SHFLAG = ifeq ($(UNAME),OSF1) SHFLAG = -Wl,-expect_unresolved,* endif kineCint.cc: $(LIBH) rootcint -f kineCint.cc -c -I$(HANAROOT)/base $(LIBH) $(SOLIB): hgeantclass.o kineCint.o g++ -shared $(SHFLAG) -Wl,-soname,libgeantkine.so -g \ hgeantclass.o kineCint.o -o libgeantkine.so @echo ' ' @echo Library libgeantkine.so done. #---------------------------------------------------------------------- endif