# Makefile for the ROOT test programs. # This Makefile shows nicely how to compile and link applications # using the ROOT libraries on all supported platforms. # # Copyright (c) 2000 Rene Brun and Fons Rademakers # # Author: Fons Rademakers, 29/2/2000 include $(ROOTSYS)/config/Makefile.config include $(ROOTSYS)/etc/Makefile.arch #------------------------------------------------------------------------------ CXXFLAGS += $(GSLFLAGS) ifeq ($(PLATFORM),win32) EXTRALIBS = "$(ROOTSYS)/lib/libMathMore.lib" "$(ROOTSYS)/lib/libMathCore.lib" $(GSLLIBS) UNURANLIB = "$(ROOTSYS)/lib/libUnuran.lib" TMVALIB = "$(ROOTSYS)/lib/libTMVA.lib" "$(ROOTSYS)/lib/libMLP.lib" "$(ROOTSYS)/lib/libTreePlayer.lib" \ "$(ROOTSYS)/lib/libMinuit.lib" "$(ROOTSYS)/lib/libMinuit2.lib" else EXTRALIBS = -lMathMore -lMathCore $(GSLLIBDIR) $(GSLLIBS) UNURANLIB = -lUnuran TMVALIB = -lTMVA -lMLP -lTreePlayer -lMinuit -lMinuit2 CXXFLAGS += -g ifneq ($(CLHEPBASE),) CXXFLAGS+= -I$(CLHEPBASE)/include -DHAVE_CLHEP EXTRALIBS+= $(CLHEPBASE)/lib/libCLHEP.a endif endif CXXFLAGS += -DHAVE_ROOTLIBS #--- gsl libraries #CXXFLAGS += `gsl-config --cflags` #EXTRALIBS += `gsl-config --libs` #--- CHEBYSHEVOBJ = testChebyshev.$(ObjSuf) CHEBYSHEVSRC = testChebyshev.$(SrcSuf) CHEBYSHEV = testChebyshev$(ExeSuf) TESTPERMUTEOBJ = testPermute.$(ObjSuf) TESTPERMUTESRC = testPermute.$(SrcSuf) TESTPERMUTE = testPermute$(ExeSuf) DERIVATIONOBJ = testDerivation.$(ObjSuf) DERIVATIONSRC = testDerivation.$(SrcSuf) DERIVATION = testDerivation$(ExeSuf) INTEGRATIONOBJ = testGSLIntegration.$(ObjSuf) INTEGRATIONSRC = testGSLIntegration.$(SrcSuf) INTEGRATION = testGSLIntegration$(ExeSuf) INTEGRATIONMDOBJ = testMCIntegration.$(ObjSuf) INTEGRATIONMDSRC = testMCIntegration.$(SrcSuf) INTEGRATIONMD = testMCIntegration$(ExeSuf) ROOTFINDEROBJ = testGSLRootFinder.$(ObjSuf) ROOTFINDERSRC = testGSLRootFinder.$(SrcSuf) ROOTFINDER = testGSLRootFinder$(ExeSuf) MULTIROOTFINDEROBJ = testMultiRootFinder.$(ObjSuf) MULTIROOTFINDERSRC = testMultiRootFinder.$(SrcSuf) MULTIROOTFINDER = testMultiRootFinder$(ExeSuf) MINIMIZATION1DOBJ = testMinimization1D.$(ObjSuf) MINIMIZATION1DSRC = testMinimization1D.$(SrcSuf) MINIMIZATION1D = testMinimization1D$(ExeSuf) INTERPOLATIONOBJ = testInterpolation.$(ObjSuf) INTERPOLATIONSRC = testInterpolation.$(SrcSuf) INTERPOLATION = testInterpolation$(ExeSuf) RANDOMOBJ = testRandom.$(ObjSuf) RANDOMSRC = testRandom.$(SrcSuf) RANDOM = testRandom$(ExeSuf) RANDOMDISTOBJ = testRandomDist.$(ObjSuf) RANDOMDISTSRC = testRandomDist.$(SrcSuf) RANDOMDIST = testRandomDist$(ExeSuf) QUASIRANDOMOBJ = testQuasiRandom.$(ObjSuf) QUASIRANDOMSRC = testQuasiRandom.$(SrcSuf) QUASIRANDOM = testQuasiRandom$(ExeSuf) SPECFUNCOBJ = testSpecFunc.$(ObjSuf) SPECFUNCSRC = testSpecFunc.$(SrcSuf) SPECFUNC = testSpecFunc$(ExeSuf) STATFUNCOBJ = testStatFunc.$(ObjSuf) STATFUNCSRC = testStatFunc.$(SrcSuf) STATFUNC = testStatFunc$(ExeSuf) TESTFUNCTOROBJ = testFunctor.$(ObjSuf) TESTFUNCTORSRC = testFunctor.$(SrcSuf) TESTFUNCTOR = testFunctor$(ExeSuf) TESTVAVILOVOBJ = testVavilov.$(ObjSuf) TESTVAVILOVSRC = testVavilov.$(SrcSuf) TESTVAVILOV = testVavilov$(ExeSuf) SIMANTSPOBJ = simanTSP.$(ObjSuf) SIMANTSPSRC = simanTSP.$(SrcSuf) SIMANTSP = simanTSP$(ExeSuf) OBJS = $(CHEBYSHEVOBJ) $(DERIVATIONOBJ) $(INTEGRATIONOBJ) $(INTEGRATIONMDOBJ) $(ROOTFINDEROBJ) $(MULTIROOTFINDEROBJ)\ $(MINIMIZATION1DOBJ) $(INTERPOLATIONOBJ) $(RANDOMOBJ) $(RANDOMDISTOBJ) $(QUASIRANDOMOBJ) \ $(SPECFUNCOBJ) $(STATFUNCOBJ) $(TESTFUNCTOROBJ) $(TESTPERMUTEOBJ) $(TESTVAVILOVOBJ) $(SIMANTSPOBJ) PROGRAMS = $(CHEBYSHEV) $(DERIVATION) $(INTEGRATION) $(INTEGRATIONMD) $(ROOTFINDER) $(MULTIROOTFINDER) \ $(MINIMIZATION1D) $(INTERPOLATION) $(RANDOM) $(RANDOMDIST) $(QUASIRANDOM) \ $(SPECFUNC) $(STATFUNC) $(TESTFUNCTOR) $(TESTPERMUTE) $(TESTVAVILOV) $(SIMANTSP) .SUFFIXES: .$(SrcSuf) .$(ObjSuf) $(ExeSuf) all: $(PROGRAMS) $(CHEBYSHEV): $(CHEBYSHEVOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(DERIVATION): $(DERIVATIONOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(INTEGRATION): $(INTEGRATIONOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(INTEGRATIONMD): $(INTEGRATIONMDOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(ROOTFINDER): $(ROOTFINDEROBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(MULTIROOTFINDER): $(MULTIROOTFINDEROBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(MINIMIZATION1D): $(MINIMIZATION1DOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(INTERPOLATION): $(INTERPOLATIONOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(RANDOM): $(RANDOMOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" testRandomDist.$(ObjSuf): UnuRanDist.h $(RANDOMDIST): $(RANDOMDISTOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(UNURANLIB) $(OutPutOpt)$@ @echo "$@ done" $(QUASIRANDOM): $(QUASIRANDOMOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(SPECFUNC): $(SPECFUNCOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(STATFUNC): $(STATFUNCOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(TESTFUNCTOR): $(TESTFUNCTOROBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(TESTPERMUTE): $(TESTPERMUTEOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(TESTVAVILOVOBJ): VavilovTest.cxx VavilovTest.h $(TESTVAVILOV): $(TESTVAVILOVOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" $(SIMANTSP): $(SIMANTSPOBJ) $(LD) $(LDFLAGS) $^ $(LIBS) $(EXTRALIBS) $(OutPutOpt)$@ @echo "$@ done" clean: @rm -f $(OBJS) core distclean: clean @rm -f $(PROGRAMS) .SUFFIXES: .$(SrcSuf) .$(SrcSuf).$(ObjSuf): $(CXX) $(CXXFLAGS) -c $<