# 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 EFlowParticle OneToOneMatcher OldMatcher OneToManyMatcher EFlowBlockProcessor Histogrammer PhysicsObjectHistoFuncs MCParticle MCBlockProcessor Matchable Matcher OldOneToOneMatcher OldOneToManyMatcher # Extra source files SRCS = BINNAME = anatest #----------------------DO NOT EDIT BELOW HERE------------------------------- .SUFFIXES: #.SUFFIXES = .o .C .cxx .cpp .hpp .h .H .d .ROOT TOPDIR = . INCDIR = $(TOPDIR)/include SRCDIR = $(TOPDIR)/src BINDIR = $(SRT_PRIVATE_CONTEXT)/bin/$(SRT_SUBDIR) 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) DICTDIR = $(SRT_PRIVATE_CONTEXT)/tmp/$(SRT_SUBDIR)/RootDataAnalyzer/dict #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 -g # C Pre-processor flags IFLAGS = -I$(TOPDIR) -I$(INCDIR) -I$(ROOTSYS)/include -I$(DICTDIR) CPPDEFS = CPPFLAGS = $(IFLAGS) $(CPPDEFS) HDRS = $(CLASSES:%=%.hpp) SRCS += $(CLASSES:%=%.cpp) HDRSRCS := $(HDRS:%.hpp=$(DICTDIR)/%Dict.C) ALLSRCS := $(SRCDIR)/$(SRCS) $(HDRSRCS) DEPENDS := $(SRCS:%.cpp=$(DEPDIR)/%.d) CPPSRCS := $(filter %.cpp, $(ALLSRCS)) CSRCS := $(filter %.C, $(ALLSRCS)) TMPOBJ1 := $(notdir $(CPPSRCS)) TMPOBJ2 := $(notdir $(CSRCS)) CXXOBJS := $(TMPOBJ1:%.cpp=$(OBJDIR)/%.o) $(TMPOBJ2:%.C=$(OBJDIR)/%.o) DICTOBJS := $(TMPOBJ2:%.C=$(OBJDIR)/%.o) ROOTLIBS := $(shell $(ROOTSYS)/bin/root-config --libs) all: $(BINDIR)/$(BINNAME) $(LIBDIR)/$(LIBNAME) bin: $(BINDIR)/$(BINNAME) $(OBJDIR)/main.o : $(SRCDIR)/main.cpp @echo Compiling main.cpp $(CXX) -c $(CXXFLAGS) $(IFLAGS) $(SRCDIR)/main.cpp -o $(OBJDIR)/main.o $(BINDIR)/$(BINNAME): $(LIBDIR)/$(LIBNAME) $(OBJDIR)/main.o mkdir -p $(BINDIR) @echo Building anatest $(CXX) $(CXXFLAGS) $(IFLAGS) $(OBJDIR)/main.o -o $(BINDIR)/$(BINNAME) $(LIBDIR)/$(LIBNAME) $(ROOTLIBS) $(LIBDIR)/$(LIBNAME): $(CXXOBJS) mkdir -p $(LIBDIR) $(CXX) $(CXXFLAGS) -shared $(CXXOBJS) -o $(LIBDIR)/$(LIBNAME) # @echo "Linking analysis package $(LIBNAME)" # @echo "ALLSRCS = " $(ALLSRCS) # @echo "CPPSRCS = " $(CPPSRCS) # @echo "CSRCS = " $(CSRCS) # @echo "CXXOBJS = " $(CXXOBJS) # @echo "TMPOBJ = " $(TMPOBJ) clean: $(RM) $(LIBDIR)/$(LIBNAME) $(RM) $(DEPENDS) $(RM) $(HDRSRCS) $(RM) $(CXXOBJS) $(RM) $(HDRS:%.hpp=$(INCDIR)/%Dict.h) depend: $(DEPENDS) #$(DEPDIR)/%.d: $(SRCDIR)/%.cpp # mkdir -p $(DEPDIR) # $(SHELL) -ec '$(CXX) -M $(CPPFLAGS) $< \ # | sed s/$*.o/$*.o\ $*.d/ > $@' $(DICTOBJS):$(OBJDIR)/%Dict.o: $(DICTDIR)/%Dict.C @echo "Building dictionary :" $(*F) mkdir -p $(OBJDIR) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $(OBJDIR)/$(*F)Dict.o $(HDRSRCS):$(DICTDIR)/%Dict.C: $(INCDIR)/%.hpp @echo "Making dictionary : " $(*F) mkdir -p $(DICTDIR) $(ROOTCINT) -f $(DICTDIR)/$(*F)Dict.C -c $(INCDIR)/$(*F).hpp $(OBJDIR)/%.o: $(SRCDIR)/%.cpp @echo "Building object : " $(*F) mkdir -p $(OBJDIR) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< -o $(OBJDIR)/$(*F).o test: @echo "TMPOBJ1 = " $(TMPOBJ1) @echo "TMPOBJ2 = " $(TMPOBJ2) @echo "CXXOBJS = " $(CXXOBJS) codegen: @echo "Nothing to do for codegen" d0omgen: @echo "Nothing to do for d0omgen" bin: @echo "Nothing to do for bin" lib : $(LIBDIR)/$(LIBNAME) -include $(DEPENDS)