1LOCAL_PATH := $(call my-dir) 2include $(CLEAR_VARS) 3 4LOCAL_MODULE := libceres 5 6LOCAL_SDK_VERSION := 17 7LOCAL_NDK_STL_VARIANT := stlport_static 8 9LOCAL_C_INCLUDES := $(LOCAL_PATH)/internal \ 10 $(LOCAL_PATH)/internal/ceres \ 11 $(LOCAL_PATH)/include \ 12 $(LOCAL_PATH)/internal/ceres/miniglog \ 13 external/eigen 14 15LOCAL_CPP_EXTENSION := .cc 16LOCAL_CPPFLAGS := -DCERES_NO_PROTOCOL_BUFFERS \ 17 -DCERES_NO_SUITESPARSE \ 18 -DCERES_NO_GFLAGS \ 19 -DCERES_NO_THREADS \ 20 -DCERES_NO_CXSPARSE \ 21 -DCERES_NO_TR1 \ 22 -DCERES_WORK_AROUND_ANDROID_NDK_COMPILER_BUG \ 23 -O3 -w 24 25# On Android NDK 8b, GCC gives spurrious warnings about ABI incompatibility for 26# which there is no solution. Hide the warning instead. 27LOCAL_CPPFLAGS += -Wno-psabi 28 29LOCAL_SRC_FILES := internal/ceres/array_utils.cc \ 30 internal/ceres/block_evaluate_preparer.cc \ 31 internal/ceres/block_jacobian_writer.cc \ 32 internal/ceres/block_jacobi_preconditioner.cc \ 33 internal/ceres/block_random_access_dense_matrix.cc \ 34 internal/ceres/block_random_access_matrix.cc \ 35 internal/ceres/block_random_access_sparse_matrix.cc \ 36 internal/ceres/block_sparse_matrix.cc \ 37 internal/ceres/block_structure.cc \ 38 internal/ceres/canonical_views_clustering.cc \ 39 internal/ceres/cgnr_solver.cc \ 40 internal/ceres/compressed_row_jacobian_writer.cc \ 41 internal/ceres/compressed_row_sparse_matrix.cc \ 42 internal/ceres/conditioned_cost_function.cc \ 43 internal/ceres/conjugate_gradients_solver.cc \ 44 internal/ceres/coordinate_descent_minimizer.cc \ 45 internal/ceres/corrector.cc \ 46 internal/ceres/dense_normal_cholesky_solver.cc \ 47 internal/ceres/dense_qr_solver.cc \ 48 internal/ceres/dense_sparse_matrix.cc \ 49 internal/ceres/detect_structure.cc \ 50 internal/ceres/dogleg_strategy.cc \ 51 internal/ceres/evaluator.cc \ 52 internal/ceres/file.cc \ 53 internal/ceres/gradient_checking_cost_function.cc \ 54 internal/ceres/implicit_schur_complement.cc \ 55 internal/ceres/iterative_schur_complement_solver.cc \ 56 internal/ceres/levenberg_marquardt_strategy.cc \ 57 internal/ceres/linear_least_squares_problems.cc \ 58 internal/ceres/linear_operator.cc \ 59 internal/ceres/linear_solver.cc \ 60 internal/ceres/local_parameterization.cc \ 61 internal/ceres/loss_function.cc \ 62 internal/ceres/miniglog/glog/logging.cc \ 63 internal/ceres/normal_prior.cc \ 64 internal/ceres/parameter_block_ordering.cc \ 65 internal/ceres/partitioned_matrix_view.cc \ 66 internal/ceres/polynomial_solver.cc \ 67 internal/ceres/problem.cc \ 68 internal/ceres/problem_impl.cc \ 69 internal/ceres/program.cc \ 70 internal/ceres/residual_block.cc \ 71 internal/ceres/residual_block_utils.cc \ 72 internal/ceres/runtime_numeric_diff_cost_function.cc \ 73 internal/ceres/schur_complement_solver.cc \ 74 internal/ceres/schur_eliminator.cc \ 75 internal/ceres/scratch_evaluate_preparer.cc \ 76 internal/ceres/solver.cc \ 77 internal/ceres/solver_impl.cc \ 78 internal/ceres/sparse_matrix.cc \ 79 internal/ceres/sparse_normal_cholesky_solver.cc \ 80 internal/ceres/split.cc \ 81 internal/ceres/stringprintf.cc \ 82 internal/ceres/suitesparse.cc \ 83 internal/ceres/triplet_sparse_matrix.cc \ 84 internal/ceres/trust_region_minimizer.cc \ 85 internal/ceres/trust_region_strategy.cc \ 86 internal/ceres/types.cc \ 87 internal/ceres/visibility_based_preconditioner.cc \ 88 internal/ceres/visibility.cc \ 89 internal/ceres/wall_time.cc \ 90 internal/ceres/generated/schur_eliminator_d_d_d.cc \ 91 internal/ceres/generated/schur_eliminator_2_2_2.cc \ 92 internal/ceres/generated/schur_eliminator_2_2_3.cc \ 93 internal/ceres/generated/schur_eliminator_2_2_4.cc \ 94 internal/ceres/generated/schur_eliminator_2_2_d.cc \ 95 internal/ceres/generated/schur_eliminator_2_3_3.cc \ 96 internal/ceres/generated/schur_eliminator_2_3_4.cc \ 97 internal/ceres/generated/schur_eliminator_2_3_9.cc \ 98 internal/ceres/generated/schur_eliminator_2_3_d.cc \ 99 internal/ceres/generated/schur_eliminator_2_4_3.cc \ 100 internal/ceres/generated/schur_eliminator_2_4_4.cc \ 101 internal/ceres/generated/schur_eliminator_2_4_d.cc \ 102 internal/ceres/generated/schur_eliminator_4_4_2.cc \ 103 internal/ceres/generated/schur_eliminator_4_4_3.cc \ 104 internal/ceres/generated/schur_eliminator_4_4_4.cc \ 105 internal/ceres/generated/schur_eliminator_4_4_d.cc 106 107include $(BUILD_STATIC_LIBRARY) 108