#-----------configure ROOT-----------# ifdef ROOTSYS include $(ROOTSYS)/etc/Makefile.arch ROOTINC :=$(shell $(ROOTSYS)/bin/root-config --incdir) ROOTLIBDIR :=$(shell $(ROOTSYS)/bin/root-config --libdir) ROOTLDFLAGS :=$(shell $(ROOTSYS)/bin/root-config --ldflags) ROOTCFLAGS :=$(shell $(ROOTSYS)/bin/root-config --cflags) ROOTLIBS := $(shell $(ROOTSYS)/bin/root-config --libs) ROOTLINK = $(ROOTLIBS) $(ROOTCFLAGS) $(ROOTLDFLAGS) -I$(ROOTINC) else @echo "NO ROOTSYS!" endif #--------configure compiler----------# CXXFLAGS += -O2 -Wall -Wno-write-strings LIBS = $(ROOTLIBS) -lm -lz -lutil -lnsl -lpthread .SUFFIXES: .$(SrcSuf) .$(ObjSuf) .$(DllSuf) #----------configure the Event class-----------# EVENTO = myClass.$(ObjSuf) EventDict.$(ObjSuf) EVENTS = myClass.$(SrcSuf) EventDict.$(SrcSuf) EVENTSO = myClass.$(DllSuf) EVENT = myClass$(ExeSuf) EVENTLIB = $(shell pwd)/$(EVENTSO) #MAINEVENTO = MainEvent.$(ObjSuf) #MAINEVENTS = MainEvent.$(SrcSuf) PROGRAMS= myApp #--------object declaration----------# OBJECTS := $(EVENTO) #OBJECTS += $(MAINEVENTO) SHAREDOBJECTS = $(EVENTSO) default: all all: $(PROGRAMS) $(EVENTSO): $(EVENTO) @echo "compiling $@" $(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(EXPLLINKLIBS) @echo "$@ done" @echo "----------------------------------" $(EVENT): $(EVENTSO) @echo "compiling $@" $(LD) $(ROOTLINK) $(LDFLAGS) $(EVENTO) $(LIBS) $(OutPutOpt) $@ $(MT_EXE) $(MT_EXE) @echo "$@ done" @echo "----------------------------------" analyzerEvent.$(ObjSuf): myClass.h EventDict.$(SrcSuf): myClass.h LinkDef.h @echo "Generating dictionary $@..." @rootcint -f $@ -c $^ @echo "$@ done" @echo "-------------------------------" .$(SrcSuf).$(ObjSuf): @echo "Compiling $@" $(CXX) $(CXXFLAGS) -c $< @echo "-----------------------------------------------------" myApp: myApp.cxx $(OBJECTS) @echo "Comiling myApp" $(CXX) $(CXXFLAGS) -o myApp myApp.cxx $(OBJECTS) $(LIBS) @echo "-----------------------------------------------------" clean: rm -f *.o *~ \#* core rm -f $(OBJECTS) EventDict* rm -f $(SHAREDOBJECTS) rm -f $(PROGRAMS)