# Name of the shared object library to create LIBNAME = analysis.so # ROOT classes (ie. classes which need rootcint run on them) CLASSES = Analyzer Distance BlockProcessor JetBlockProcessor Processor PhysicsObject PhysicsObjectSource SimpleJet PhysicsObjectHistogrammer EFlowParticle OneToOneMatcher OldHistogrammer OneToOneMatcherHisto Matcher OneToManyMatcher EFlowBlockProcessor # Extra source files SRCS = #----------------------DO NOT EDIT BELOW HERE------------------------------- .SUFFIXES = .SUFFIXES = .o .C .cxx .cpp .hpp .h .H .d .ROOT TOPDIR = . INCDIR = $(TOPDIR)/include SRCDIR = $(TOPDIR)/src OBJDIR = $(SRT_PRIVATE_CONTEXT)/tmp/$(SRT_SUBDIR)/RootDataAnalyzer/obj DEPDIR = $(SRT_PRIVATE_CONTEXT)/tmp/$(SRT_SUBDIR)/RootDataAnalyzer/depends LIBDIR = $(SRT_PRIVATE_CONTEXT)/lib/$(SRT_SUBDIR)/ #OBJDIR = $(TOPDIR)/obj #DEPDIR = $(TOPDIR)/depends #LIBDIR = $(TOPDIR)/lib # Command definitions AR = ar CHMOD = chmod CP = cp MV = mv RANLIB = ranlib RM = -rm #RM = -ls TOUCH = touch ROOTCINT = rootcint # Compiler commands CXX = KCC # Compile flags for C++ and assembler compilers CXXFLAGS = --exceptions --thread_safe # C Pre-processor flags IFLAGS = -I$(TOPDIR) -I$(INCDIR) -I$(ROOTSYS)/include CPPDEFS = CPPFLAGS = $(IFLAGS) $(CPPDEFS) HDRS = $(CLASSES:%=%.hpp) SRCS += $(CLASSES:%=%.cpp) HDRSRCS := $(HDRS:%.hpp=$(SRCDIR)/%Dict.C) ALLSRCS := $(SRCDIR)/$(SRCS) $(HDRSRCS) DEPENDS := $(SRCS:%.cpp=$(DEPDIR)/%.d) CPPSRCS := $(filter %.cpp, $(ALLSRCS)) CSRCS := $(filter %.C, $(ALLSRCS)) #CXXOBJS := $(ALLSRCS:.cpp=.o) // FIXME!! STRIP OUT .C files and replace then with .o files TMPOBJ1 := $(notdir $(CPPSRCS)) TMPOBJ2 := $(notdir $(CSRCS)) CXXOBJS := $(TMPOBJ1:%.cpp=$(OBJDIR)/%.o) $(TMPOBJ2:%.C=$(OBJDIR)/%.o) all: $(LIBDIR)/$(LIBNAME) $(LIBDIR)/$(LIBNAME): $(HDRSRCS) $(CXXOBJS) @echo "Linking analysis package $(LIBNAME)" @echo "ALLSRCS = " $(ALLSRCS) @echo "CPPSRCS = " $(CPPSRCS) @echo "CSRCS = " $(CSRCS) @echo "CXXOBJS = " $(CXXOBJS) @echo "TMPOBJ = " $(TMPOBJ) $(CXX) $(CXXFLAGS) -shared $(CXXOBJS) -o $(LIBDIR)/$(LIBNAME) include $(DEPENDS) clean: $(RM) $(LIBDIR)/$(LIBNAME) $(RM) $(DEPENDS) $(RM) $(HDRSRCS) $(RM) $(CXXOBJS) $(RM) $(HDRS:%.hpp=$(INCDIR)/%Dict.h) $(DEPDIR)/%.d: $(SRCDIR)/%.cpp $(SHELL) -ec '$(CXX) -M $(CPPFLAGS) $< \ | sed s/$*.o/$*.o\ $*.d/ > $@' $(SRCDIR)/%Dict.C: $(INCDIR)/%.hpp $(ROOTCINT) -f $(SRCDIR)/$(*F)Dict.C -c $(INCDIR)/$(*F).hpp mv $(SRCDIR)/$(*F)Dict.h $(INCDIR)/$(*F)Dict.h $(OBJDIR)/%.o: $(SRCDIR)/%.cpp $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $(OBJDIR)/$(*F).o $(OBJDIR)/%.o: $(SRCDIR)/%.C $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $(OBJDIR)/$(*F).o test: @echo "TMPOBJ1 = " $(TMPOBJ1) @echo "TMPOBJ2 = " $(TMPOBJ2) @echo "CXXOBJS = " $(CXXOBJS)