Dear All,
Here I am attaching a Makefile which was running well in root5.02 version. This Makefile consists of 4 classes InoHit.h, InoTriplet.h, InoTrack.h and InoMagField.h .
This Makefile is not running in root 5.16 version.
How to solve this problem ?
Plz. give suggesstion. If possible send me a sample Makefile .
Thanks in advance.
Tapasi
ARCH = linux
CXX =
ObjSuf = o
SrcSuf = cxx
ExeSuf =
DllSuf = so
OutPutOpt = -o
ROOTCFLAGS := $(shell root-config --cflags)
ROOTLIBS := $(shell root-config --libs)
ROOTGLIBS := $(shell root-config --glibs)
ifeq ($(ARCH),linux)
# Linux with egcs, gcc 2.9x, gcc 3.x (>= RedHat 5.2)
CXX = g++
CXXFLAGS = -O -Wall -fPIC
LD = g++
LDFLAGS = -O
SOFLAGS = -shared
endif
CXXFLAGS += -I. -I$(ROOTSYS)/include
LIBS = $(ROOTLIBS) $(SYSLIBS)
GLIBS = $(ROOTGLIBS) $(SYSLIBS)
#------------------------------------------------------------------------------
INOHITO = InoHit.$(ObjSuf) InoHitDict.$(ObjSuf)
INOHITS = InoHit.$(SrcSuf) InoHitDict.$(SrcSuf)
INOHITSO = libInoHit.$(DllSuf)
INOTRIPLETO = InoTriplet.$(ObjSuf) InoTripletDict.$(ObjSuf)
INOTRIPLETS = InoTriplet.$(SrcSuf) InoTripletDict.$(SrcSuf)
INOTRIPLETSO = libInoTriplet.$(DllSuf)
INOTRACKO = InoTrack.$(ObjSuf) InoTrackDict.$(ObjSuf)
INOTRACKS = InoTrack.$(SrcSuf) InoTrackDict.$(SrcSuf)
INOTRACKSO = libInoTrack.$(DllSuf)
INOMAGFIELDO = InoMagField.$(ObjSuf) InoMagFieldDict.$(ObjSuf)
INOMAGFIELDS = InoMagField.$(SrcSuf) InoMagFieldDict.$(SrcSuf)
INOMAGFIELDSO = libInoMagField.$(DllSuf)
OBJS = $(INOHITO) $(INOTRIPLETO) $(INOTRACKO) $(INOMAGFIELDO)
PROGRAMS = $(INOHITSO) $(INOTRIPLETSO) $(INOTRACKSO) $(INOMAGFIELDSO)
#------------------------------------------------------------------------------
.SUFFIXES: .$(SrcSuf) .$(ObjSuf) .$(DllSuf)
.PHONY: InoHit InoTriplet InoTrack InoMagField
all: $(PROGRAMS)
InoHitContainer: $(INOHITSO) $(INOTRIPLETSO) $(INOTRACKSO) $(INOMAGFIELDSO)
$(INOHITSO): $(INOHITO)
$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@
$(INOTRIPLETSO): $(INOTRIPLETO)
$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@
$(INOTRACKSO): $(INOTRACKO)
$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@
$(INOMAGFIELDSO): $(INOMAGFIELDO)
$(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@
clean:
@rm -f $(OBJS) core
distclean: clean
@rm -f $(PROGRAMS) *Dict.* *.def *.exp \
*.root *.ps *.so .def so_locations
@rm -rf cxx_repository
.SUFFIXES: .$(SrcSuf)
###
InoHit.$(ObjSuf): InoHit.h
InoHitDict.$(SrcSuf): InoHit.h InoHitLinkDef.h
@echo "Generating dictionary $@..."
@rootcint -f $@ -c $^
InoTriplet.$(ObjSuf): InoTriplet.h
InoTripletDict.$(SrcSuf): InoTriplet.h InoTripletLinkDef.h
@echo "Generating dictionary $@..."
@rootcint -f $@ -c $^
InoTrack.$(ObjSuf): InoTrack.h
InoTrackDict.$(SrcSuf): InoTrack.h InoTrackLinkDef.h
@echo "Generating dictionary $@..."
@rootcint -f $@ -c $^
InoMagField.$(ObjSuf): InoMagField.h
InoMagFieldDict.$(SrcSuf): InoMagField.h InoMagFieldLinkDef.h
@echo "Generating dictionary $@..."
@rootcint -f $@ -c $^
.$(SrcSuf).$(ObjSuf):
$(CXX) $(CXXFLAGS) -c $<