Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-05-18 07:43:06

0001 CXX = g++
0002 FLAGS = -g -Wno-deprecated -fPIC -m64 -fno-inline -Wno-write-strings
0003 
0004 # ROOT
0005 DEPS += $(shell root-config --cflags)
0006 LIBS += $(shell root-config --glibs)
0007 
0008 # local libs
0009 LIBS += -L${EIC_SHELL_PREFIX}/lib
0010 LIBS += -lIRT -ledm4eic
0011 DEPS += -I${EIC_SHELL_PREFIX}/include
0012 DEPS += -I${EIC_SHELL_PREFIX}/include/IRT 
0013 DEPS += -Isrc
0014 
0015 # image libs
0016 LIBS += -L/usr/local/lib
0017 LIBS += -lDDCore -lDDRec
0018 LIBS += -lpodio -lpodioRootIO -ledm4hep
0019 LIBS += -lfmt -lspdlog
0020 LIBS += -lG4global -lG4materials -lG4geometry -lG4persistency
0021 DEPS += -I/usr/local/include
0022 FLAGS += -DSPDLOG_FMT_EXTERNAL 
0023 
0024 #--------------------------------------------
0025 
0026 BIN_TARGET = bin
0027 SOURCES := $(wildcard src/*.cpp)
0028 EXECUTABLES := $(addprefix $(BIN_TARGET)/, $(basename $(notdir $(SOURCES))))
0029 
0030 EICRECON_DIR = ${DRICH_DEV}/EICrecon/src/services/geometry/richgeo
0031 DEPS += -I$(EICRECON_DIR)
0032 
0033 LIB_TARGET = lib
0034 RICHGEO_LIB_NAME = RichGeo
0035 RICHGEO_LIB = $(LIB_TARGET)/lib$(RICHGEO_LIB_NAME).so
0036 RICHGEO_ROOT = $(EICRECON_DIR)
0037 RICHGEO_SOURCES := $(wildcard $(RICHGEO_ROOT)/IrtGeo*.cc) $(RICHGEO_ROOT)/ReadoutGeo.cc
0038 RICHGEO_HEADERS := $(wildcard $(RICHGEO_ROOT)/IrtGeo*.h)  $(RICHGEO_ROOT)/ReadoutGeo.h $(RICHGEO_ROOT)/RichGeo.h
0039 
0040 PIXEL_GAP_SOURCE = src/test_pixel_gap_cuts.cpp
0041 PIXEL_GAP_EXECUTABLE = $(BIN_TARGET)/test_pixel_gap_cuts
0042 SOURCES := $(filter-out $(PIXEL_GAP_SOURCE), $(SOURCES))
0043 EXECUTABLES := $(filter-out $(PIXEL_GAP_EXECUTABLE), $(EXECUTABLES))
0044 
0045 #--------------------------------------------
0046 
0047 all: $(EXECUTABLES) $(RICHGEO_LIB) $(PIXEL_GAP_EXECUTABLE)
0048 
0049 $(EXECUTABLES): $(BIN_TARGET)/%: src/%.cpp
0050         mkdir -p $(BIN_TARGET)
0051         @echo "----- build $@.o -----"
0052         $(CXX) -c $< -o $@.o $(FLAGS) $(DEPS)
0053         @echo "--- make executable $@"
0054         $(CXX) -o $@ $@.o $(LIBS)
0055         $(RM) $@.o
0056 
0057 $(RICHGEO_LIB): $(RICHGEO_HEADERS) $(RICHGEO_SOURCES)
0058 ifeq ($(IRT_ROOT_DICT_FOUND),1)
0059         mkdir -p $(LIB_TARGET)
0060         @echo "----- build $@ -----"
0061         $(CXX) $(RICHGEO_SOURCES) -shared -o $@ $(FLAGS) $(DEPS) $(LIBS)
0062 else
0063         @echo "WARNING: skip building $@ since IRT ROOT dict not found"
0064 endif
0065 
0066 $(PIXEL_GAP_EXECUTABLE): $(PIXEL_GAP_SOURCE) $(RICHGEO_LIB)
0067 ifeq ($(IRT_ROOT_DICT_FOUND),1)
0068         mkdir -p $(BIN_TARGET)
0069         @echo "----- build $@.o -----"
0070         $(CXX) -c $< -o $@.o $(FLAGS) $(DEPS)
0071         @echo "--- make executable $@"
0072         $(CXX) -o $@ $@.o $(LIBS) -L$(LIB_TARGET) -l$(RICHGEO_LIB_NAME)
0073         $(RM) $@.o
0074 else
0075         @echo "WARNING: skip building $@ since IRT ROOT dict not found"
0076 endif
0077 
0078 clean:
0079         @echo "CLEAN ======================================================"
0080         $(RM) $(EXECUTABLES) $(PIXEL_GAP_EXECUTABLE) $(RICHGEO_LIB)