xref: /netbsd-src/external/lgpl3/mpfr/dist/Makefile.am (revision 1897181a7231d5fc7ab48994d1447fcbc4e13a49)
1# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
2# This Makefile.am is free software; the Free Software Foundation
3# gives unlimited permission to copy and/or distribute it,
4# with or without modifications, as long as this notice is preserved.
5
6# This program is distributed in the hope that it will be useful,
7# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
8# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
9# PARTICULAR PURPOSE.
10
11
12AUTOMAKE_OPTIONS = gnu ansi2knr
13ACLOCAL_AMFLAGS = -I m4
14
15SUBDIRS = tests
16
17nobase_dist_doc_DATA = AUTHORS BUGS COPYING COPYING.LESSER FAQ.html NEWS TODO \
18  examples/ReadMe examples/divworst.c examples/rndo-add.c examples/sample.c \
19  examples/version.c
20
21EXTRA_DIST = PATCHES VERSION get_patches.sh round_raw_generic.c gen_inverse.h jyn_asympt.c ieee_floats.h
22
23include_HEADERS = mpfr.h mpf2mpfr.h
24
25BUILT_SOURCES = mparam.h
26
27lib_LTLIBRARIES = libmpfr.la
28
29libmpfr_la_SOURCES = mpfr.h mpf2mpfr.h mpfr-gmp.h mpfr-impl.h		\
30mpfr-longlong.h mpfr-thread.h exceptions.c extract.c uceil_exp2.c	\
31uceil_log2.c ufloor_log2.c add.c add1.c add_ui.c agm.c clear.c cmp.c	\
32cmp_abs.c cmp_si.c cmp_ui.c comparisons.c div_2exp.c div_2si.c		\
33div_2ui.c div.c div_ui.c dump.c eq.c exp10.c exp2.c exp3.c exp.c	\
34frac.c get_d.c get_exp.c get_str.c init.c inp_str.c isinteger.c		\
35isinf.c isnan.c isnum.c const_log2.c log.c modf.c mul_2exp.c mul_2si.c	\
36mul_2ui.c mul.c mul_ui.c neg.c next.c out_str.c printf.c vasprintf.c	\
37const_pi.c pow.c pow_si.c pow_ui.c print_raw.c print_rnd_mode.c		\
38reldiff.c round_prec.c set.c setmax.c setmin.c set_d.c set_dfl_prec.c	\
39set_exp.c set_rnd.c set_f.c set_prc_raw.c set_prec.c set_q.c set_si.c	\
40set_str.c set_str_raw.c set_ui.c set_z.c sqrt.c sqrt_ui.c sub.c sub1.c	\
41sub_ui.c rint.c ui_div.c ui_sub.c urandom.c urandomb.c get_z_exp.c	\
42swap.c factorial.c cosh.c sinh.c tanh.c sinh_cosh.c acosh.c asinh.c	\
43atanh.c atan.c cmp2.c exp_2.c asin.c const_euler.c cos.c sin.c tan.c	\
44fma.c fms.c hypot.c log1p.c expm1.c log2.c log10.c ui_pow.c		\
45ui_pow_ui.c minmax.c dim.c signbit.c copysign.c setsign.c gmp_op.c	\
46init2.c acos.c sin_cos.c set_nan.c set_inf.c set_zero.c powerof2.c	\
47gamma.c set_ld.c get_ld.c cbrt.c volatile.c fits_s.h fits_sshort.c	\
48fits_sint.c fits_slong.c fits_u.h fits_ushort.c fits_uint.c		\
49fits_ulong.c fits_uintmax.c fits_intmax.c get_si.c get_ui.c zeta.c	\
50cmp_d.c erf.c inits.c inits2.c clears.c sgn.c check.c sub1sp.c		\
51version.c mpn_exp.c mpfr-gmp.c mp_clz_tab.c sum.c add1sp.c		\
52free_cache.c si_op.c cmp_ld.c set_ui_2exp.c set_si_2exp.c set_uj.c	\
53set_sj.c get_sj.c get_uj.c get_z.c iszero.c cache.c sqr.c		\
54int_ceil_log2.c isqrt.c strtofr.c pow_z.c logging.c mulders.c get_f.c	\
55round_p.c erfc.c atan2.c subnormal.c const_catalan.c root.c		\
56gen_inverse.h sec.c csc.c cot.c eint.c sech.c csch.c coth.c		\
57round_near_x.c constant.c abort_prec_max.c stack_interface.c lngamma.c	\
58zeta_ui.c set_d64.c get_d64.c jn.c yn.c rem1.c get_patches.c add_d.c	\
59sub_d.c d_sub.c mul_d.c div_d.c d_div.c li2.c rec_sqrt.c min_prec.c	\
60buildopt.c digamma.c bernoulli.c isregular.c set_flt.c get_flt.c	\
61scale2.c set_z_exp.c ai.c gammaonethird.c
62
63libmpfr_la_LIBADD = @LIBOBJS@
64
65# Libtool -version-info CURRENT[:REVISION[:AGE]] for libmpfr.la
66#
67# 1. No interfaces changed, only implementations (good):
68#    ==> Increment REVISION.
69# 2. Interfaces added, none removed (good):
70#    ==> Increment CURRENT, increment AGE, set REVISION to 0.
71# 3. Interfaces removed or changed (BAD, breaks upward compatibility):
72#    ==> Increment CURRENT, set AGE and REVISION to 0.
73#
74#         MPFR     -version-info
75#        2.1.x      -
76#        2.2.x    1:x:0
77#        2.3.x    2:x:1
78#        2.4.x    3:x:2
79#        3.0.x    4:x:0
80libmpfr_la_LDFLAGS = -version-info 4:1:0
81
82info_TEXINFOS = mpfr.texi
83
84mpfr_TEXINFOS = fdl.texi
85
86MAKEINFOFLAGS = --enable-encoding
87
88# Important note: If for some reason, srcdir is read-only at build time
89# (and you use objdir != srcdir), then you need to rebuild get_patches.c
90# (with "make get_patches.c") just after patching the MPFR source. This
91# should not be a problem in practice, in particular because "make dist"
92# automatically rebuilds get_patches.c before generating the archives.
93$(srcdir)/get_patches.c: PATCHES get_patches.sh
94	(cd $(srcdir) && ./get_patches.sh) > $@ || rm -f $@
95
96# Do not add get_patches.c to CLEANFILES so that this file doesn't
97# need to be (re)built as long as no patches are applied. Anyway the
98# update of this file should be regarded as part of the patch process,
99# and "make clean" shouldn't remove it, just like it doesn't remove
100# what has been changed by "patch".
101#CLEANFILES = get_patches.c
102
103# Tune program
104EXTRA_PROGRAMS = tuneup speed
105
106tuneup_SOURCES = tuneup.c
107tuneup_LDADD = -lspeed libmpfr.la
108tuneup_LDFLAGS = -static
109
110speed_SOURCES = speed.c
111speed_LDADD = -lspeed libmpfr.la
112speed_LDFLAGS = -static
113
114tune:
115	$(MAKE) $(AM_MAKEFLAGS) tuneup$(EXEEXT)
116	./tuneup -v
117	$(MAKE) $(AM_MAKEFLAGS) clean
118	$(MAKE) $(AM_MAKEFLAGS) libmpfr.la
119
120# In a "make dist", check that libtool -version-info value is up-to-date.
121# But if the VERSION file contains "-dev", this is not checked.
122# Note: this is a heuristic, to detect some mistakes.
123dist-hook:
124	grep -q -e -dev $(srcdir)/VERSION || { \
125	  mv=`sed -n "s/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\..*/\1\\\\\\.\2/p" $(srcdir)/VERSION` && \
126	  pl=`sed -n "s/^$$mv\.\([0-9][0-9]*\).*/\1/p" $(srcdir)/VERSION` && \
127	  printf "mv=%s / pl=%s\n" "$$mv" "$$pl" && \
128	  vinfo=`sed -n "s/^# *$$mv\.x *\([0-9][0-9]*\):x:\([0-9][0-9]*\)/\1:$$pl:\2/p" $(srcdir)/Makefile.am` && \
129	  printf "vinfo=%s\n" "$$vinfo" && \
130	  grep -q -e "-version-info $$vinfo$$" $(srcdir)/Makefile.am; }
131