PKG_LIBS=$(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
PKG_CPPFLAGS=-I../inst/include \
  -IManifolds \
  -IManifolds/Euclidean \
  -IManifolds/Grassmann \
  -IManifolds/L2Sphere \
  -IManifolds/LowRank \
  -IManifolds/Oblique \
  -IManifolds/OrthGroup \
  -IManifolds/PreShapeCurves \
  -IManifolds/Sphere \
  -IManifolds/Stiefel \
  -IManifolds/SPDTensor \
  -IManifolds/CpxNStQOrth \
  -IOthers \
  -IProblems \
  -IProblems/ElasticCurvesRO \
  -IProblems/EucFrechetMean \
  -IProblems/EucQuadratic \
  -IProblems/GrassRQ \
  -IProblems/ObliqueTestSparsePCA \
  -IProblems/PreShapePathStraighten \
  -IProblems/SPDMean \
  -IProblems/SPDTensorDL \
  -IProblems/StieBrockett \
  -IProblems/StieSoftICA \
  -IProblems/StieSumBrockett \
  -IProblems/WeightedLowrank \
  -ISolvers \
  -IManifoldOptim \
  -DR_BUILD -DARMA_DONT_USE_BLAS -DARMA_DONT_USE_LAPACK

SOURCES=Others/Spline.cpp \
  Others/MyMatrix.cpp \
  Others/randgen.cpp \
  Others/Timer.cpp \
  Others/ForDebug.cpp \
  Manifolds/SPDVector.cpp \
  Manifolds/OrthGroup/OrthGroupVector.cpp \
  Manifolds/OrthGroup/OrthGroup.cpp \
  Manifolds/OrthGroup/OrthGroupVariable.cpp \
  Manifolds/SPDVariable.cpp \
  Manifolds/PreShapeCurves/PSCVector.cpp \
  Manifolds/PreShapeCurves/PreShapeCurves.cpp \
  Manifolds/PreShapeCurves/PSCVariable.cpp \
  Manifolds/Stiefel/Stiefel.cpp \
  Manifolds/Stiefel/StieVector.cpp \
  Manifolds/Stiefel/StieVariable.cpp \
  Manifolds/Oblique/Oblique.cpp \
  Manifolds/Oblique/ObliqueVariable.cpp \
  Manifolds/Oblique/ObliqueVector.cpp \
  Manifolds/Euclidean/EucVector.cpp \
  Manifolds/Euclidean/EucVariable.cpp \
  Manifolds/Euclidean/Euclidean.cpp \
  Manifolds/SmartSpace.cpp \
  Manifolds/ProductElement.cpp \
  Manifolds/SPDManifold.cpp \
  Manifolds/Element.cpp \
  Manifolds/L2Sphere/L2Sphere.cpp \
  Manifolds/L2Sphere/L2SphereVector.cpp \
  Manifolds/L2Sphere/L2SphereVariable.cpp \
  Manifolds/SharedSpace.cpp \
  Manifolds/LinearOPE.cpp \
  Manifolds/ProductManifold.cpp \
  Manifolds/Grassmann/GrassVariable.cpp \
  Manifolds/Grassmann/GrassVector.cpp \
  Manifolds/Grassmann/Grassmann.cpp \
  Manifolds/Sphere/SphereVariable.cpp \
  Manifolds/Sphere/SphereVector.cpp \
  Manifolds/Sphere/Sphere.cpp \
  Manifolds/Manifold.cpp \
  Manifolds/LowRank/LowRank.cpp \
  Manifolds/LowRank/LowRankVector.cpp \
  Manifolds/LowRank/LowRankVariable.cpp \
  Problems/StieSoftICA/StieSoftICA.cpp \
  Problems/WeightedLowrank/WeightedLowRank.cpp \
  Problems/PreShapePathStraighten/PreShapePathStraighten.cpp \
  Problems/ObliqueTestSparsePCA/ObliqueTestSparsePCA.cpp \
  Problems/ElasticCurvesRO/DriverElasticCurvesRO.cpp \
  Problems/ElasticCurvesRO/ElasticCurvesRO.cpp \
  Problems/StieBrockett/StieBrockett.cpp \
  Problems/EucFrechetMean/EucFrechetMean.cpp \
  Problems/StieSumBrockett/StieSumBrockett.cpp \
  Problems/GrassRQ/GrassRQ.cpp \
  Problems/mexProblem.cpp \
  Problems/EucQuadratic/EucQuadratic.cpp \
  Problems/Problem.cpp \
  Problems/SPDMean/SPDMean.cpp \
  Solvers/RBroydenFamily.cpp \
  Solvers/RSD.cpp \
  Solvers/RWRBFGS.cpp \
  Solvers/RTRSR1.cpp \
  Solvers/LRTRSR1.cpp \
  Solvers/RTRSD.cpp \
  Solvers/Solvers.cpp \
  Solvers/LRBFGS.cpp \
  Solvers/MRankAdaptive.cpp \
  Solvers/RCG.cpp \
  Solvers/SolversLS.cpp \
  Solvers/SolversTR.cpp \
  Solvers/RBFGS.cpp \
  Solvers/RTRNewton.cpp \
  Solvers/RNewton.cpp \
  ManifoldOptim/ProblemAdapter.cpp \
  ManifoldOptim/ManifoldFactory.cpp \
  ManifoldOptim/Util.cpp \
  ManifoldOptim/ManifoldOptim.cpp \
  ManifoldOptim/ManifoldOptimModule.cpp \
  ManifoldOptim/VariableFactory.cpp \
  ManifoldOptim/BrockettProblem.cpp \
  ManifoldOptim/RProblem.cpp \
  ManifoldOptim/SolverFactory.cpp

OBJECTS = MyRcppExports.o $(SOURCES:.cpp=.o)

