# ---------------------------------------------------------------------- # # GNUmakefile for non-trivial ROOT Tree # ------------------------------------- # This is a GNUmakefile for gmake. It will not work with 'make'. # It runs both on SunOS and Linux, if you have in your .cshrc: # # setenv ARCH `uname` # # If you want to run with another version of ROOT, you may need to # adjust the definition of ROOTSYS. # # ---------------------------------------------------------------------- override ROOTSYS := /afs/slac.stanford.edu/package/cernroot/22312 override LD_LIBRARY_PATH := $(ROOTSYS)/lib ROOTCFLAGS := $(shell $(ROOTSYS)/bin/root-config --cflags) ROOTLIBS := $(shell $(ROOTSYS)/bin/root-config --libs) ROOTGLIBS := $(shell $(ROOTSYS)/bin/root-config --glibs) # -- Solaris is default CXX := CC CXXFLAGS := -g -KPIC LD := CC LDFLAGS := -g SOFLAGS := -G # -- Linux ifeq ($(ARCH),Linux) CXX := g++-2.95 CXXFLAGS := -O -Wall -fPIC LD := g++-2.95 LDFLAGS := -g SOFLAGS := -shared endif CXXFLAGS += $(ROOTCFLAGS) LIBS = $(ROOTLIBS) GLIBS = $(ROOTGLIBS) .SUFFIXES: .cc MYOBJ = TMyCand.o TMyCandDict.o TMyEvent.o TMyEventDict.o .cc.o: $(CXX) $(CXXFLAGS) -c $< # -------------------------------------------------------------------------------- myclass: $(MYOBJ) # --------------- $(CXX) $(SOFLAGS) $(MYOBJ) -o $(HOME)/rootutorial/libMyClass.so TMyCandDict.cc: TMyCand.hh TMyCandLinkDef.h rootcint -f TMyCandDict.cc -c TMyCand.hh TMyCandLinkDef.h TMyEventDict.cc: TMyEvent.hh TMyEventLinkDef.h rootcint -f TMyEventDict.cc -c TMyEvent.hh TMyEventLinkDef.h # ---------------------------------------------------------------------- readMyEvent: readMyEvent.cc # ------------------------- $(CXX) $(CXXFLAGS) -c $< $(LD) $(LDFLAGS) -o readMyEvent readMyEvent.o $(HOME)/rootutorial/libMyClass.so $(GLIBS) # -------------------------------------------------------------------------------- simpleTree: simpleTree.cc # ----------------------- $(CXX) $(CXXFLAGS) -c $< $(LD) $(LDFLAGS) -o simpleTree simpleTree.o $(GLIBS) # ---------------------------------------------------------------------- clean: # ---- rm -f *.o simpleTree TMyCandDict.* TMyEventDict.* libMyClass.so