1## ================================================ 2## 3## Automake definitions for the LiDIA documentation 4## 5## ================================================ 6 7AUTOMAKE_OPTIONS = 1.5 nostdinc 8 9## Because Automake cannot automatically handle LaTeX sources yet, 10## we have to provide the compilation rules explicitly. 11## Nevertheless, Automake generates the usual maintainer rules, like 12## those used by "make dist". 13 14MOSTLYCLEANFILES = \ 15 *.aux *.toc *.lof *.lot *.bbl \ 16 *.log *.[bdi]lg *.idx *.ind *.gl[os] 17 18CLEANFILES = \ 19 LiDIA.dvi LiDIA.ps LiDIA.pdf LiDIA.dsc \ 20 LiDIA.dvi.gz LiDIA.ps.gz LiDIA.pdf.gz LiDIA.dsc.gz \ 21 LiDIA.dvi.bz2 LiDIA.ps.bz2 LiDIA.pdf.bz2 LiDIA.dsc.bz2 22 23 24## ------------- 25## WHAT TO BUILD 26## ------------- 27 28noinst_DATA = LiDIA.dvi 29 30LiDIA_dvi_TEXSRCS = \ 31 LiDIA.tex \ 32 graphics.cfg \ 33 color.cfg \ 34 LiDIA.def \ 35 copyright.tex \ 36 overview.tex \ 37 lidia_model.tex \ 38 use.tex \ 39 LiDIA_base.tex \ 40 bigint.tex \ 41 udigit_mod.tex \ 42 bigmod.tex \ 43 multi_bigmod.tex \ 44 bigrational.tex \ 45 xdouble.tex \ 46 bigfloat.tex \ 47 xbigfloat.tex \ 48 bigcomplex.tex \ 49 base_vector.tex \ 50 math_vector.tex \ 51 sort_vector.tex \ 52 file_vector.tex \ 53 lidia_vector.tex \ 54 hash_table.tex \ 55 indexed_hash_table.tex \ 56 base_matrix.tex \ 57 math_matrix.tex \ 58 matrix_GL2Z.tex \ 59 polynomial.tex \ 60 big_polynomial.tex \ 61 fact.tex \ 62 single_factor.tex \ 63 factorization.tex \ 64 sf_bigint.tex \ 65 modular_functions.tex \ 66 nmbrthry_functions.tex \ 67 crt.tex \ 68 prime_list.tex \ 69 prime_proof.tex \ 70 power_functions.tex \ 71 timer.tex \ 72 handlers.tex \ 73 basic_error.tex \ 74 generic_error.tex \ 75 cast_error.tex \ 76 precondition_error.tex \ 77 index_out_of_bounds_error.tex \ 78 gmm.tex \ 79 random_generator.tex \ 80 lidia_signal.tex \ 81 LiDIA_FF.tex \ 82 gf2n.tex \ 83 galois_field.tex \ 84 galois_field_iterator.tex \ 85 gf_element.tex \ 86 gf_polynomial.tex \ 87 Fp_polynomial.tex \ 88 Fp_poly_modulus.tex \ 89 gf_poly_modulus.tex \ 90 Fp_rational_function.tex \ 91 power_series.tex \ 92 sf_Fp_polynomial.tex \ 93 sf_gf_polynomial.tex \ 94 fft_prime.tex \ 95 LiDIA_LA.tex \ 96 bigint_matrix.tex \ 97 bigmod_matrix.tex \ 98 LiDIA_LT.tex \ 99 bigint_lattice.tex \ 100 bigfloat_lattice.tex \ 101 LiDIA_NF.tex \ 102 quadratic_form.tex \ 103 quadratic_order.tex \ 104 qi_class.tex \ 105 qi_class_real.tex \ 106 quadratic_ideal.tex \ 107 quadratic_number_standard.tex \ 108 quadratic_number_power_product_basis.tex \ 109 quadratic_number_power_product.tex \ 110 field.tex \ 111 order.tex \ 112 alg_number.tex \ 113 module.tex \ 114 prime_ideal.tex \ 115 sf_alg_ideal.tex \ 116 LiDIA_EC.tex \ 117 elliptic_curve_flags.tex \ 118 elliptic_curve.tex \ 119 point.tex \ 120 elliptic_curve_bigint.tex \ 121 point_bigint.tex \ 122 curve_isomorphism.tex \ 123 quartic.tex \ 124 kodaira_code.tex \ 125 LiDIA_ECO.tex \ 126 eco_prime.tex \ 127 meq_prime.tex \ 128 trace_mod.tex \ 129 trace_list.tex \ 130 LiDIA_GEC.tex \ 131 gec.tex \ 132 gec_complex_multiplication.tex 133 134 135 136## ----------- 137## EXTRA STUFF 138## ----------- 139 140EXTRA_DIST = \ 141 ${LiDIA_dvi_TEXSRCS} \ 142 LiDIA.bib \ 143 LiDIA.ist 144 145# Unused CVS stuff 146extra_stuff = \ 147 FIG/lidia_model.fig \ 148 .latex2html-init \ 149 doc2html.awk \ 150 filt.c \ 151 make_lidia_index \ 152 make_lidia_index.cmd \ 153 man_pages.tex \ 154 unused/bi_bf_lattice_basis.tex \ 155 unused/bi_bf_lattice_gensys.tex \ 156 unused/bigfloat_int.tex \ 157 unused/double_int.tex \ 158 unused/lattice_basis.tex \ 159 unused/lattice_gensys.tex \ 160 unused/use_vecmat.tex 161 162 163## ------------- 164## SPECIAL RULES 165## ------------- 166 167# Convenience targets 168 169.PHONY: dvi pdf dsc ps psgz psbz2 170 171dvi: LiDIA.dvi 172pdf: LiDIA.pdf 173dsc: LiDIA.dsc 174ps: LiDIA.ps 175psgz: LiDIA.ps.gz 176psbz2: LiDIA.ps.bz2 177 178 179# Environment settings, Programs, and Flags 180TEX_ENV = TEXINPUTS="${srcdir}${PATH_SEPARATOR}$$TEXINPUTS" 181BIBTEX_ENV = BIBINPUTS="${srcdir}" 182MAKEINDEX_ENV = INDEXSTYLE="${srcdir}" 183DVIPS_ENV = TEXINPUTS="${srcdir}" 184 185MAKEINDEX_OPTIONS = -s LiDIA.ist 186DVIPS_OPTIONS = -ta4 187 188# GNU texi2dvi supports LaTeX/bibtex/makeindex loops and adds the source 189# dir to the search paths (except for BibTeX), thus is very practical here. 190# 191# don't capitalize LaTeX to work around Debian bug 472758 192LATEX2DVI = $(TEXI2DVI) -l latex 193LATEX2PDF = ${LATEX2DVI} -p 194 195LATEX2DVI_ENV = \ 196 TEX="$(LATEX)" PDFTEX="$(PDFLATEX)" $(TEX_ENV) \ 197 BIBTEX="$(BIBTEX)" $(BIBTEX_ENV) \ 198 MAKEINDEX="$(MAKEINDEX) $(MAKEINDEX_OPTIONS)" $(MAKEINDEX_ENV) 199LATEX2PDF_ENV = ${LATEX2DVI_ENV} 200 201# What to put into the environment's GZIP/BZIP2 vars when using gzip/bzip2 202GZIP_ENV = -9 203BZIP_ENV = 204BZIP2_ENV = -9 205 206## Build rules 207 208# For compatibility, $< is used in implicit rules only, 209# and GNU Make's implicit pattern rules (%) are used only for 210# targets that usually do not need to be (re)made. 211# Whenever possible, specifications of implicit rules use the 212# less flexible but more portable suffix form. 213 214SUFFIXES = .tex .dvi .pdf .ps .dsc 215 216.tex.dvi: 217 ${LATEX2DVI_ENV} ${LATEX2DVI} $< 218 219.tex.pdf: 220 ${LATEX2PDF_ENV} ${LATEX2PDF} $< 221 222.dvi.ps: 223 ${DVIPS_ENV} ${DVIPS} ${DVIPS_OPTIONS} -o $@ $< 224 225.pdf.dsc: 226 pdf2dsc $< $@ 227 228LiDIA.dvi LiDIA.pdf: ${LiDIA_dvi_TEXSRCS} 229 230# Pattern rules for producing compressed targets. 231# The given rules preserve the uncompressed file, thus unnecessary 232# "make" invocations do not rebuild anything. 233%.gz: % 234 GZIP='$(GZIP_ENV)' gzip -c $< >$@ 235 236%.bz2: % 237 BZIP='$(BZIP_ENV)' BZIP2='$(BZIP2_ENV)' bzip2 -c $< >$@ 238 239# The explicit compression rules for `LiDIA.ps', for non-GNU Makes 240LiDIA.ps.gz: LiDIA.ps 241 GZIP='$(GZIP_ENV)' gzip -c LiDIA.ps >$@ 242 243LiDIA.ps.bz2: LiDIA.ps 244 BZIP='$(BZIP_ENV)' BZIP2='$(BZIP2_ENV)' bzip2 -c LiDIA.ps >$@ 245 246# This directory is not specific to a certain sub-package, therefore all its 247# stuff goes into the base (or full) distribution and is removed from other 248# distributions. 249dist-hook: 250 case ' $(PKG_DIRS) ' in \ 251 *' base '*) ;; \ 252 *) rm -rf $(distdir) ;; \ 253 esac 254 255# Delete half-made targets when their commands fail 256.DELETE_ON_ERROR: 257 258