File indexing completed on 2023-04-15 01:47:32
0001 include ${SADIR}/Makefile.config
0002
0003 CPPFLAGS := -I. -I${SRCDIR} -I../mkFit-external ${CPPFLAGS}
0004
0005 CMS_DIR := ${SRCDIR}/RecoTracker/MkFitCMS
0006
0007 LIB_CMS := ../libMicCMS.so
0008 MAIN := ../mkFit
0009 WRMEMF := ../writeMemoryFile
0010 WMF_DICT_PCM := ../WriteMemFileDict_rdict.pcm
0011 SHELL_DICT_PCM := ../ShellDict_rdict.pcm
0012 ROOTOUT := WriteMemFileDict.cc ShellDict.cc
0013
0014 TGTS := ${LIB_CMS} ${MAIN}
0015 ifdef WITH_ROOT
0016 TGTS += ${WRMEMF} ${WMF_DICT_PCM} ${SHELL_DICT_PCM}
0017 endif
0018
0019 .PHONY: all clean distclean
0020
0021 all: ${TGTS}
0022
0023 SRCS := $(wildcard ${CMS_DIR}/src/*.cc) $(wildcard ${SACMS}/*.cc)
0024 ifdef WITH_ROOT
0025 SRCS += ${SACMS}/tkNtuple/WriteMemoryFile.cc
0026 WriteMemFileDict.cc: ${SACMS}/tkNtuple/DictsLinkDef.h
0027 rootcling -I=${SRCDIR} -f WriteMemFileDict.cc $<
0028 ${WMF_DICT_PCM}: WriteMemFileDict.cc
0029 mv WriteMemFileDict_rdict.pcm ${WMF_DICT_PCM}
0030 SRCS += ShellDict.cc
0031 ShellDict.cc: ${SACMS}/Shell.h ${SACMS}/ShellLinkDef.h
0032 rootcling -I=${SRCDIR} -f ShellDict.cc ${SACMS}/Shell.h ${SACMS}/ShellLinkDef.h
0033 ${SHELL_DICT_PCM}: ShellDict.cc
0034 mv ShellDict_rdict.pcm ${SHELL_DICT_PCM}
0035 endif
0036 SRCB := $(notdir ${SRCS})
0037 DEPS := $(SRCB:.cc=.d)
0038 OBJS := $(SRCB:.cc=.o)
0039
0040 CMS_OBJS := $(filter-out mkFit.o WriteMemoryFile.o, ${OBJS})
0041
0042 vpath %.cc ${CMS_DIR}/src ${SACMS} ${SACMS}/tkNtuple
0043
0044 ifeq ($(filter clean-local clean distclean, ${MAKECMDGOALS}),)
0045 include ${DEPS}
0046 endif
0047
0048 clean-local:
0049 -rm -f ${TGTS} *.d *.o *.om *.so *.pcm ${ROOTOUT}
0050 -rm -rf main.dSYM
0051 -rm -rf plotting/*.so plotting/*.d plotting/*.pcm
0052
0053 clean: clean-local
0054
0055 distclean: clean-local
0056 -rm -f *.optrpt
0057 -rm -f ${TGTS}
0058
0059 ${LIB_CMS}: ${CMS_OBJS}
0060 @mkdir -p $(@D)
0061 ${CXX} ${CXXFLAGS} ${VEC_HOST} ${CMS_OBJS} -shared -o $@ ${LDFLAGS_HOST} ${LDFLAGS}
0062
0063 ${MAIN}: ${LIB_CMS} mkFit.o
0064 ${CXX} ${CXXFLAGS} ${VEC_HOST} ${LDFLAGS} mkFit.o -o $@ ${LDFLAGS_HOST} -ltbb -L.. -lMicCore -lMicCMS -Wl,-rpath=.
0065
0066 ${WRMEMF}: WriteMemoryFile.o WriteMemFileDict.o
0067 ${CXX} ${CXXFLAGS} ${LDFLAGS} $^ -o $@ ${LDFLAGS_HOST} -ltbb -L.. -lMicCore -Wl,-rpath=.
0068
0069 ${OBJS}: %.o: %.cc %.d
0070 ${CXX} ${CPPFLAGS} ${CXXFLAGS} ${VEC_HOST} -c -o $@ $<
0071
0072 %.d: %.cc
0073 ${MAKEDEPEND} -o $@ $<
0074
0075 echo:
0076 @echo "CXX=${CXX}"
0077 @echo SRCS = ${SRCS}
0078 @echo DEPS = ${DEPS}
0079 @echo OBJS = ${OBJS}
0080
0081 echo_cc_defs:
0082 ${CXX} -dM -E -mavx2 - < /dev/null
0083
0084 echo-srcs:
0085 @echo ${SRCS}
0086
0087 echo-flags:
0088 @echo "CPPFLAGS=${CPPFLAGS}"
0089
0090 echo-tbb:
0091 @echo "TBB_GCC=${TBB_GCC}, TBB_PREFIX=${TBB_PREFIX}, TBB_ROOT=${TBB_ROOT}"