# 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 Makefile.arch #------------------------------------------------------------------------------ EVENTO = Event.$(ObjSuf) EventDict.$(ObjSuf) CellAddress.$(ObjSuf) CalCell.$(ObjSuf) TCalParticle.$(ObjSuf) TCalParticleDict.$(ObjSuf) EVENTS = Event.$(SrcSuf) EventDict.$(SrcSuf) EVENTSO = libEvent.$(DllSuf) EVENT = Event$(ExeSuf) ifeq ($(PLATFORM),win32) EVENTLIB = libEvent.lib else EVENTLIB = $(EVENTSO) endif MAINEVENTO = MainEvent.$(ObjSuf) MAINEVENTS = MainEvent.$(SrcSuf) CALOSIMO = CalorimeterGeometry.$(ObjSuf) CalorimeterSimulation.$(ObjSuf) CalorimeterDigi.$(ObjSuf) CalorimeterReconstruction.$(ObjSuf) //OBJS = $(EVENTO) $(MAINEVENTO) $(HWORLDO) $(HSIMPLEO) $(MINEXAMO) \ // $(TSTRINGO) $(TCOLLEXO) $(VVECTORO) $(VMATRIXO) $(VLAZYO) \ // $(HELLOO) $(ACLOCKO) $(STRESSO) $(TBENCHO) $(BENCHO) \ // $(TCOLLBMO) $(STRESSGEOMO) $(STRESSLO) $(TESTBITSO) \ // $(CTORTUREO) $(QPRANDOMO) $(THREADO) $(STRESSVECO) OBJS = $(EVENTO) $(MAINEVENTO) $(CALOSIMO) //PROGRAMS = $(EVENT) $(HWORLD) $(HSIMPLE) $(MINEXAM) $(TSTRING) \ // $(TCOLLEX) $(TCOLLBM) $(VVECTOR) $(VMATRIX) $(VLAZY) \ // $(HELLOSO) $(ACLOCKSO) $(STRESS) $(TBENCHSO) $(BENCH) \ // $(STRESSGEOM) $(STRESSL) $(TESTBITS) $(CTORTURE) $(QPRANDOM) \ // $(THREADS) $(STRESSVEC) PROGRAMS = $(EVENT) //OBJS += $(GUITESTO) $(GUIVIEWERO) $(TETRISO) //PROGRAMS += $(GUITEST) $(GUIVIEWER) $(TETRISSO) #------------------------------------------------------------------------------ .SUFFIXES: .$(SrcSuf) .$(ObjSuf) .$(DllSuf) .PHONY: Aclock Hello Tetris all: $(PROGRAMS) $(EVENTSO): $(EVENTO) ifeq ($(ARCH),aix) /usr/ibmcxx/bin/makeC++SharedLib $(OutPutOpt) $@ $(LIBS) -p 0 $^ else ifeq ($(ARCH),aix5) /usr/vacpp/bin/makeC++SharedLib $(OutPutOpt) $@ $(LIBS) -p 0 $^ else ifeq ($(PLATFORM),macosx) # We need to make both the .dylib and the .so $(LD) $(SOFLAGS) $^ $(OutPutOpt) $@ ifeq ($(MACOSX_MINOR),4) ln -sf $@ $(subst .$(DllSuf),.so,$@) else $(LD) -bundle -undefined $(UNDEFOPT) $(LDFLAGS) $^ \ $(OutPutOpt) $(subst .$(DllSuf),.so,$@) endif else ifeq ($(PLATFORM),win32) bindexplib $* $^ > $*.def lib -nologo -MACHINE:IX86 $^ -def:$*.def \ $(OutPutOpt)$(EVENTLIB) $(LD) $(SOFLAGS) $(LDFLAGS) $^ $*.exp $(LIBS) \ $(OutPutOpt)$@ else $(LD) $(SOFLAGS) $(LDFLAGS) $^ $(OutPutOpt) $@ $(EXPLLINKLIBS) endif endif endif endif @echo "$@ done" $(EVENT): $(EVENTSO) $(MAINEVENTO) $(CALOSIMO) $(DEPENDENCIES) $(LD) $(LDFLAGS) $(MAINEVENTO) $(CALOSIMO) $(EVENTLIB) $(LIBS) \ $(OutPutOpt)$(EVENT) @echo "$@ done" clean: @rm -f $(OBJS) core distclean: clean @rm -f $(PROGRAMS) $(EVENTSO) $(EVENTLIB) *Dict.* *.def *.exp \ *.root *.ps *.so *.lib *.dll *.d .def so_locations @rm -rf cxx_repository -@cd RootShower && $(MAKE) distclean .SUFFIXES: .$(SrcSuf) ### Event.$(ObjSuf): Event.h MainEvent.$(ObjSuf): Event.h simulate.cxx ana_simu.cxx reconstruct.cxx EventDict.$(SrcSuf): Event.h @echo "Generating dictionary $@..." @rootcint -f $@ -c $^ TCalParticleDict.$(SrcSuf): TCalParticle.h @echo "Generating dictionary $@..." @rootcint -f $@ -c $^ .$(SrcSuf).$(ObjSuf): $(CXX) $(CXXFLAGS) -c $<