# Module.mk for mathcore module
# Copyright (c) 2000 Rene Brun and Fons Rademakers
#
# Author: Fons Rademakers, 20/6/2005
MODDIR := mathcore
MODDIRS := $(MODDIR)/src
MODDIRI := $(MODDIR)/inc
MATHCOREDIR := $(MODDIR)
MATHCOREDIRS := $(MATHCOREDIR)/src
MATHCOREDIRI := $(MATHCOREDIR)/inc
##### libMathCore #####
MATHCOREL := $(MODDIRI)/Math/LinkDef.h
MATHCOREL32 := $(MODDIRI)/Math/LinkDef_GenVector32.h
MATHCORELINC := $(MODDIRI)/Math/LinkDef_Func.h \
$(MODDIRI)/Math/LinkDef_GenVector.h \
$(MODDIRI)/Math/LinkDef_Point3D.h \
$(MODDIRI)/Math/LinkDef_Vector3D.h \
$(MODDIRI)/Math/LinkDef_Vector4D.h \
$(MODDIRI)/Math/LinkDef_Rotation.h
MATHCOREDS := $(MODDIRS)/G__MathCore.cxx
MATHCOREDS32 := $(MODDIRS)/G__MathCore32.cxx
MATHCOREDO := $(MATHCOREDS:.cxx=.o)
MATHCOREDO32 := $(MATHCOREDS32:.cxx=.o)
MATHCOREDH := $(MATHCOREDS:.cxx=.h)
MATHCOREDH1 := $(MODDIRI)/Math/Vector3D.h \
$(MODDIRI)/Math/Point3D.h \
$(MODDIRI)/Math/Vector4D.h \
$(MODDIRI)/Math/Rotation3D.h \
$(MODDIRI)/Math/RotationX.h \
$(MODDIRI)/Math/RotationY.h \
$(MODDIRI)/Math/RotationZ.h \
$(MODDIRI)/Math/LorentzRotation.h \
$(MODDIRI)/Math/Boost.h \
$(MODDIRI)/Math/BoostX.h \
$(MODDIRI)/Math/BoostY.h \
$(MODDIRI)/Math/BoostZ.h \
$(MODDIRI)/Math/EulerAngles.h \
$(MODDIRI)/Math/AxisAngle.h \
$(MODDIRI)/Math/Quaternion.h \
$(MODDIRI)/Math/Transform3D.h \
$(MODDIRI)/Math/Plane3D.h \
$(MODDIRI)/Math/SpecFuncMathCore.h \
$(MODDIRI)/Math/DistFuncMathCore.h \
$(MODDIRI)/Math/VectorUtil_Cint.h \
$(MODDIRI)/Math/IParamFunction.h \
$(MODDIRI)/Math/IFunction.h
MATHCOREDH132:= $(MODDIRI)/Math/Vector3D.h \
$(MODDIRI)/Math/Point3D.h \
$(MODDIRI)/Math/Vector4D.h \
MATHCOREAH := $(filter-out $(MODDIRI)/Math/LinkDef%, $(wildcard $(MODDIRI)/Math/*.h))
MATHCOREGVH := $(filter-out $(MODDIRI)/Math/GenVector/LinkDef%, $(wildcard $(MODDIRI)/Math/GenVector/*.h))
MATHCOREH := $(MATHCOREAH) $(MATHCOREGVH)
MATHCORES := $(filter-out $(MODDIRS)/G__%,$(wildcard $(MODDIRS)/*.cxx))
MATHCOREO := $(MATHCORES:.cxx=.o)
MATHCOREDEP := $(MATHCOREO:.o=.d) $(MATHCOREDO:.o=.d) $(MATHCOREDO32:.o=.d)
MATHCORELIB := $(LPATH)/libMathCore.$(SOEXT)
# used in the main Makefile
ALLHDRS += $(patsubst $(MODDIRI)/Math/%.h,include/Math/%.h,$(MATHCOREH))
ALLLIBS += $(MATHCORELIB)
# include all dependency files
INCLUDEFILES += $(MATHCOREDEP)
##### local rules #####
include/Math/%.h: $(MATHCOREDIRI)/Math/%.h
@(if [ ! -d "include/Math/GenVector" ]; then \
mkdir -p include/Math/GenVector; \
fi)
cp $< $@
$(MATHCORELIB): $(MATHCOREO) $(MATHCOREDO) $(MATHCOREDO32) $(ORDER_) $(MAINLIBS)
@$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
"$(SOFLAGS)" libMathCore.$(SOEXT) $@ \
"$(MATHCOREO) $(MATHCOREDO) $(MATHCOREDO32)" \
"$(MATHCORELIBEXTRA)"
$(MATHCOREDS): $(MATHCOREDH1) $(MATHCOREL) $(MATHCORELINC) $(ROOTCINTTMPEXE)
@echo "Generating dictionary $@..."
@echo "for files $(MATHCOREDH1)"
$(ROOTCINTTMP) -f $@ -c $(MATHCOREDH1) $(MATHCOREL)
$(MATHCOREDS32):$(MATHCOREDH132) $(MATHCOREL) $(MATHCORELINC) $(ROOTCINTTMPEXE)
@echo "Generating dictionary $@..."
@echo "for files $(MATHCOREDH132)"
$(ROOTCINTTMP) -f $@ -c $(MATHCOREDH132) $(MATHCOREL32)
all-mathcore: $(MATHCORELIB)
map-mathcore: $(RLIBMAP)
$(RLIBMAP) -r $(ROOTMAP) -l $(MATHCORELIB) \
-d $(MATHCORELIBDEP) -c $(MATHCOREL) $(MATHCORELINC) $(MATHCOREL32)
map:: map-mathcore
clean-mathcore:
@rm -f $(MATHCOREO) $(MATHCOREDO)
clean:: clean-mathcore
distclean-mathcore: clean-mathcore
@rm -f $(MATHCOREDEP) $(MATHCOREDS) $(MATHCOREDS32) $(MATHCOREDH) $(MATHCORELIB)
@rm -rf include/Math
distclean:: distclean-mathcore
test-mathcore: all-mathcore
@cd $(MATHCOREDIR)/test; make