1## ============================================================= 2## 3## Automake definitions for the LiDIA LA package's library stuff 4## 5## ============================================================= 6 7AUTOMAKE_OPTIONS = 1.5 nostdinc 8 9ETAGS_ARGS = -C -l c++ 10 11include $(top_srcdir)/Paths.def 12 13 14## ------------- 15## INCLUDE PATHS 16## ------------- 17 18AM_CPPFLAGS = \ 19 -I$(LIDIA_CONFIG_INCLUDEDIR) \ 20 -I$(LIDIA_BASE_INCLUDEDIR) -I$(srcdir)/$(LIDIA_BASE_INCLUDEDIR) \ 21 -I$(LIDIA_FF_INCLUDEDIR) -I$(srcdir)/$(LIDIA_FF_INCLUDEDIR) \ 22 -I$(LIDIA_LA_INCLUDEDIR) -I$(srcdir)/$(LIDIA_LA_INCLUDEDIR) 23 24 25## --------- 26## LIBRARIES 27## --------- 28 29noinst_LTLIBRARIES = libLiDIA-LA.la 30 31# We don't want to have $(LIBS) in the convenience library. 32# FIXME: This is not safe against command-line overrides. 33LIBS = 34 35 36## --------------- 37## LIBRARY SOURCES 38## --------------- 39 40libLiDIA_LA_la_SOURCES = \ 41 $(LIDIA_LA_SRCDIR)/bigfloat_matrix.cc \ 42 $(LIDIA_LA_SRCDIR)/bigint_matrix.cc \ 43 $(LIDIA_LA_SRCDIR)/bigmod_matrix.cc \ 44 $(LIDIA_LA_SRCDIR)/crt_and_prime_handling.cc \ 45 $(LIDIA_LA_SRCDIR)/file_adjoint.cc \ 46 $(LIDIA_LA_SRCDIR)/hnf_instant.cc \ 47 $(LIDIA_LA_SRCDIR)/instant_bigint_matrix.cc \ 48 $(LIDIA_LA_SRCDIR)/instantiate/bm_bigfloat_dense.cc \ 49 $(LIDIA_LA_SRCDIR)/instantiate/bm_bigfloat_normal.cc \ 50 $(LIDIA_LA_SRCDIR)/instantiate/bm_bigfloat_sparse.cc \ 51 $(LIDIA_LA_SRCDIR)/instantiate/bm_bigfloat_sub.cc \ 52 $(LIDIA_LA_SRCDIR)/instantiate/bm_bigrational_dense.cc \ 53 $(LIDIA_LA_SRCDIR)/instantiate/bm_bigrational_normal.cc \ 54 $(LIDIA_LA_SRCDIR)/instantiate/bm_bigrational_sparse.cc \ 55 $(LIDIA_LA_SRCDIR)/instantiate/bm_bigrational_sub.cc \ 56 $(LIDIA_LA_SRCDIR)/instantiate/bv_bigfloat_int.cc \ 57 $(LIDIA_LA_SRCDIR)/instantiate/bv_bigint_matrix.cc \ 58 $(LIDIA_LA_SRCDIR)/instantiate/bv_bpp_matrix_bigint.cc \ 59 $(LIDIA_LA_SRCDIR)/instantiate/bv_bpp_matrix_long.cc \ 60 $(LIDIA_LA_SRCDIR)/instantiate/fm_bigfloat_dense.cc \ 61 $(LIDIA_LA_SRCDIR)/instantiate/fm_bigfloat_normal.cc \ 62 $(LIDIA_LA_SRCDIR)/instantiate/fm_bigfloat_sparse.cc \ 63 $(LIDIA_LA_SRCDIR)/instantiate/fm_bigfloat_sub.cc \ 64 $(LIDIA_LA_SRCDIR)/instantiate/fm_bigrational_dense.cc \ 65 $(LIDIA_LA_SRCDIR)/instantiate/fm_bigrational_normal.cc \ 66 $(LIDIA_LA_SRCDIR)/instantiate/fm_bigrational_sparse.cc \ 67 $(LIDIA_LA_SRCDIR)/instantiate/fm_bigrational_sub.cc \ 68 $(LIDIA_LA_SRCDIR)/instantiate/fm_double_dense.cc \ 69 $(LIDIA_LA_SRCDIR)/instantiate/fm_double_normal.cc \ 70 $(LIDIA_LA_SRCDIR)/instantiate/fm_double_sparse.cc \ 71 $(LIDIA_LA_SRCDIR)/instantiate/fm_double_sub.cc \ 72 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigfloat_dense.cc \ 73 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigfloat_normal.cc \ 74 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigfloat_sparse.cc \ 75 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigfloat_sub.cc \ 76 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigint_dense.cc \ 77 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigint_normal.cc \ 78 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigint_sparse.cc \ 79 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigint_sub.cc \ 80 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigrational_dense.cc \ 81 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigrational_normal.cc \ 82 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigrational_sparse.cc \ 83 $(LIDIA_LA_SRCDIR)/instantiate/rm_bigrational_sub.cc \ 84 $(LIDIA_LA_SRCDIR)/instantiate/rm_double_dense.cc \ 85 $(LIDIA_LA_SRCDIR)/instantiate/rm_double_normal.cc \ 86 $(LIDIA_LA_SRCDIR)/instantiate/rm_double_sparse.cc \ 87 $(LIDIA_LA_SRCDIR)/instantiate/rm_double_sub.cc \ 88 $(LIDIA_LA_SRCDIR)/instantiate/rm_int_dense.cc \ 89 $(LIDIA_LA_SRCDIR)/instantiate/rm_int_normal.cc \ 90 $(LIDIA_LA_SRCDIR)/instantiate/rm_int_sparse.cc \ 91 $(LIDIA_LA_SRCDIR)/instantiate/rm_int_sub.cc \ 92 $(LIDIA_LA_SRCDIR)/instantiate/rm_long_dense.cc \ 93 $(LIDIA_LA_SRCDIR)/instantiate/rm_long_normal.cc \ 94 $(LIDIA_LA_SRCDIR)/instantiate/rm_long_sparse.cc \ 95 $(LIDIA_LA_SRCDIR)/instantiate/rm_long_sub.cc \ 96 $(LIDIA_LA_SRCDIR)/m_multiple_gcd.cc \ 97 $(LIDIA_LA_SRCDIR)/modular_instant.cc \ 98 $(LIDIA_LA_SRCDIR)/trans_matrix.cc 99 100 101## ------- 102## HEADERS 103## ------- 104 105matrixincludedir = $(pkgincludedir)/matrix 106 107matrixinclude_HEADERS = \ 108 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/bigint_matrix_algorithms.cc \ 109 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/bigint_matrix_algorithms.h \ 110 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/crt_and_prime_handling.h \ 111 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/dense_bigint_matrix_kernel.cc \ 112 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/dense_bigint_matrix_kernel.h \ 113 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/dense_bigint_matrix_modules.cc \ 114 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/dense_bigint_matrix_modules.h \ 115 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/dense_fp_matrix_kernel.cc \ 116 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/dense_fp_matrix_kernel.h \ 117 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/fp_matrix_algorithms.cc \ 118 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/fp_matrix_algorithms.h \ 119 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/hnf_conf.cc \ 120 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/hnf_conf.h \ 121 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/hnf_kernel.cc \ 122 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/hnf_kernel.h \ 123 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/modular_arithmetic.cc \ 124 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/modular_arithmetic.h \ 125 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/modular_functions.inl \ 126 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/normalize_kernel.cc \ 127 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/normalize_kernel.h \ 128 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/sparse_bigint_matrix_kernel.cc \ 129 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/sparse_bigint_matrix_kernel.h \ 130 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/sparse_bigint_matrix_modules.cc \ 131 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/sparse_bigint_matrix_modules.h \ 132 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/sparse_fp_matrix_algorithms.cc \ 133 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/sparse_fp_matrix_algorithms.h \ 134 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/sparse_fp_matrix_kernel.cc \ 135 $(LIDIA_LA_PKGINCLUDEDIR)/matrix/sparse_fp_matrix_kernel.h 136 137pkginclude_HEADERS = \ 138 $(LIDIA_LA_PKGINCLUDEDIR)/base_power_product.cc \ 139 $(LIDIA_LA_PKGINCLUDEDIR)/base_power_product.h \ 140 $(LIDIA_LA_PKGINCLUDEDIR)/base_ppair.cc \ 141 $(LIDIA_LA_PKGINCLUDEDIR)/base_ppair.h \ 142 $(LIDIA_LA_PKGINCLUDEDIR)/bigfloat_matrix.h \ 143 $(LIDIA_LA_PKGINCLUDEDIR)/bigint_matrix.h \ 144 $(LIDIA_LA_PKGINCLUDEDIR)/bigmod_matrix.h \ 145 $(LIDIA_LA_PKGINCLUDEDIR)/dense_bigint_matrix.h \ 146 $(LIDIA_LA_PKGINCLUDEDIR)/dense_matrix.h \ 147 $(LIDIA_LA_PKGINCLUDEDIR)/long_matrix.h \ 148 $(LIDIA_LA_PKGINCLUDEDIR)/math_matrix.h \ 149 $(LIDIA_LA_PKGINCLUDEDIR)/matrix.h \ 150 $(LIDIA_LA_PKGINCLUDEDIR)/matrix_intern.h \ 151 $(LIDIA_LA_PKGINCLUDEDIR)/sparse_matrix.h 152 153 154## ---- 155## DATA 156## ---- 157 158dist_pkgdata_DATA = \ 159 $(LIDIA_PKGDATADIR)/LIDIA_PRIMES 160 161 162## ---------------- 163## ADDITIONAL STUFF 164## ---------------- 165 166EXTRA_DIST = 167 168 169## ------------- 170## SPECIAL RULES 171## ------------- 172 173# Remove installation subdirectories after uninstalling, unless left non-empty. 174uninstall-hook: 175 rmdir $(DESTDIR)$(matrixincludedir) \ 176 $(DESTDIR)$(pkgincludedir) \ 177 $(DESTDIR)$(pkgdatadir) \ 178 2>/dev/null; : 179 180# Delete half-made targets when their commands fail 181.DELETE_ON_ERROR: 182 183