# 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) ROOTCFLAGS += -DUSE_ROOT ROOTCFLAGS += -DHAVE_ZLIB ROOTCFLAGS += -DUSE_TREE ROOTCFLAGS += -DUSE_HISTO ROOTLINK = $(ROOTLIBS) $(ROOTCFLAGS) $(ROOTLDFLAGS) ROOTLIBS += -lFoam -lProof -lProofPlayer endif #--------configure compiler----------# CXX = g++ CXXFLAGS := $(ROOTCFLAGS) CXXFLAGS += -O2 -fPIC -Wall -Wno-write-strings LIBS = $(ROOTLIBS) -Llib -lRIO -lNet -lHist -lMatrix -lThread -lCore -lCint -lMathCore -lTree -ldl -rdynamic -lm -lz -lutil -lnsl -lpthread MYSELLIB = $(shell pwd)/MySel.so .SUFFIXES: .cc,.C,.cpp default: all all: ClassDict.cxx ClassDict.o MySel.o MySel.so selector ClassDict.cxx: MySel.h LinkDef.h @echo "Generating dictionary $@..." @rootcint -f $@ -c -p MySel.h LinkDef.h @echo "$@ done" @echo "-------------------------------" ClassDict.o: ClassDict.cxx ClassDict.h @echo "Compiling $@" $(CXX) $(CXXFLAGS) -c $< @echo "-----------------------------------------------------" MySel.o: MySel.C MySel.h @echo "Compiling $@" $(CXX) $(CXXFLAGS) -c MySel.C \ $(LIBS) -fopenmp -Wno-deprecated @echo "-------------------------------" MySel.so: MySel.o @echo "compiling $@" $(LD) $(SOFLAGS) $(LDFLAGS) -fPIC $^ $(OutPutOpt) $@ $(EXPLLINKLIBS) $(LIBS) @echo "$@ done" @echo "----------------------------------" selector: main.cpp @echo "Compiling $@" $(CXX) $(CXXFLAGS) -o selector main.cpp $(LIBS) ClassDict.o MySel.o MySel.so \ clean: rm -f selector rm -f *.o rm -f *.so rm -f ClassDict.cxx rm -f *~