1## Process this file with automake to produce Makefile.in
2
3# This file is part of crlibm, the correctly rounded mathematical library,
4# which has been developed by the Arénaire project at École normale supérieure
5# de Lyon.
6#
7# Copyright (C) 2004-2011 David Defour, Catherine Daramy-Loirat,
8# Florent de Dinechin, Matthieu Gallet, Nicolas Gast, Christoph Quirin Lauter,
9# and Jean-Michel Muller
10#
11# This library is free software; you can redistribute it and/or
12# modify it under the terms of the GNU Lesser General Public
13# License as published by the Free Software Foundation; either
14# version 2.1 of the License, or (at your option) any later version.
15#
16# This library is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19# Lesser General Public License for more details.
20#
21# You should have received a copy of the GNU Lesser General Public
22# License along with this library; if not, write to the Free Software
23# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24
25lib_LIBRARIES = libcrlibm.a
26
27# shared libraries need libtool. We'll do it later.
28#lib_LTLIBRARIES = libcrlibm.la
29
30
31# Note that at the moment, asking for intervals disables double-extended
32if USE_HARDWARE_DE
33libcrlibm_a_SOURCES =  \
34	crlibm.h crlibm_private.h crlibm_private.c double-extended.h\
35	triple-double.h triple-double.c\
36	exp-td.h exp-td.c exp-td-standalone.c expm1-standalone.c  \
37	expm1.h expm1.c \
38	log-de.c log-de.h \
39	log1p.c \
40	log10-td.h log10-td.c \
41	log2-td.h  log2-td.c \
42	rem_pio2_accurate.h rem_pio2_accurate.c \
43	trigo_fast.c trigo_fast.h trigo_accurate.c trigo_accurate.h \
44	trigpi.c trigpi.h \
45	asincos.h asincos.c \
46	pow.h pow.c\
47	atan_fast.c atan_fast.h atan_accurate.h atan_accurate.c \
48	csh_fast.h csh_fast.c
49else
50libcrlibm_a_SOURCES =  \
51	crlibm.h crlibm_private.h crlibm_private.c \
52	triple-double.h triple-double.c\
53	exp-td.h exp-td.c exp-td-standalone.c expm1-standalone.c  \
54	expm1.h expm1.c \
55	log.c log.h \
56	log1p.c \
57	rem_pio2_accurate.h rem_pio2_accurate.c \
58	trigo_fast.c trigo_fast.h trigo_accurate.c trigo_accurate.h \
59	trigpi.c trigpi.h \
60	asincos.h asincos.c \
61	pow.h pow.c\
62	atan_fast.c atan_fast.h atan_accurate.h atan_accurate.c \
63	csh_fast.h csh_fast.c
64endif
65
66
67# add all the scs_lib useful functions
68libcrlibm_a_LIBADD = scs_lib/scs_private.o scs_lib/addition_scs.o  \
69	scs_lib/division_scs.o scs_lib/print_scs.o\
70	scs_lib/double2scs.o scs_lib/zero_scs.o\
71	scs_lib/multiplication_scs.o scs_lib/scs2double.o
72
73include_HEADERS = crlibm.h
74
75SUBDIRS = scs_lib .
76
77# Add your compiler here. Default is assumed to be gcc.
78if COMPILER_ICC
79# mp means maintain precision. Should be useless with std=c99, this is an ICC bug
80AM_CFLAGS =  -std=c99 -mp -Qoption,cpp,--extended_float_types -IPF_fp_speculationsafe
81else # default assumed to be gcc
82if USE_SSE2
83AM_CFLAGS = -std=c99 -Wall -msse2 -mfpmath=sse
84else
85# GCC's -frounding-math is needed for FPU control
86AM_CFLAGS = -std=c99 -Wall -O3 -frounding-math
87endif
88endif
89
90tripledoubleprocedures.pdf: docs/latex/tripledoubleprocedures.tex
91	cd docs/latex; \
92	pdflatex tripledoubleprocedures; bibtex tripledoubleprocedures; \
93	pdflatex tripledoubleprocedures; pdflatex tripledoubleprocedures;\
94	mv tripledoubleprocedures.pdf ..
95
96crlibm.pdf: docs/latex/crlibm.tex
97	cd docs/latex; lualatex crlibm; bibtex crlibm; lualatex crlibm; lualatex crlibm;\
98	mv crlibm.pdf ..
99
100doc: crlibm.pdf tripledoubleprocedures.pdf
101
102EXTRA_DIST = VERSION TODO\
103	maple/common-procedures.mpl \
104	maple/double-extended.mpl maple/triple-double.mpl\
105	maple/exp-td.mpl maple/csh.mpl \
106	maple/log-td.mpl  maple/log-de.mpl \
107	maple/log2-td.mpl maple/log10-td.mpl \
108	maple/trigo.mpl maple/atan.mpl \
109	maple/asin-td.mpl maple/acos-td.mpl \
110	maple/sqrt.mpl \
111	maple/expm1.mpl \
112	maple/gal.mpl \
113	maple/pow.mpl \
114	gappa/trigos/SinCosCase3.gappa gappa/trigos/TanCase2.gappa \
115	gappa/trigos/TanCase2.gappa \
116	gappa/trigos/SinCosCase3.gappa gappa/trigos/TanCase2.gappa \
117	gappa/sqrt12.gappa gappa/sqrt13.gappa gappa/sqrt-proof.sh gappa/sqrt.sed \
118	gappa/log-de/log-de-acc-index0-E0.gappa    gappa/log-de/log-de-index0-E0.gappa \
119	gappa/log-de/log-de-acc-index0-E1N.gappa   gappa/log-de/log-de-index0-E1N.gappa \
120	gappa/log-de/log-de-acc-index1N-E0.gappa   gappa/log-de/log-de-index1N-E0N.gappa \
121	gappa/log-de/log-de-acc-index1N-E1N.gappa  gappa/log-de/README \
122	gappa/log-td/log-td.gappa             gappa/log-td/log-td-E0.gappa \
123	gappa/log-td/log-td-E0-logir0.gappa   gappa/log-td/log-td-accurate.gappa \
124	gappa/log-td/log-td-accurate-E0.gappa gappa/log-td/log-td-accurate-E0-logir0.gappa \
125	gappa/exp-td/exp-td-accurate1.gappa gappa/exp-td/exp-td-accurate2.gappa \
126	gappa/exp-td/exp-td-accurate3.gappa gappa/exp-td/exp-td-accurate4.gappa \
127	gappa/exp-td/exp-td-proof.sh \
128	gappa/trigpi/cospi-accurate.gappa  gappa/trigpi/cospi-quick.gappa \
129	gappa/trigpi/sinpi-accurate.gappa  gappa/trigpi/sinpi-quick.gappa \
130	gappa/asin/asinAccuR0.gappa gappa/asin/asinAccuR1.gappa  \
131	gappa/asin/asinAccuR2.gappa gappa/asin/asinAccuR3.gappa \
132	gappa/asin/asinAccuR4.gappa gappa/asin/asinAccuR5.gappa \
133	gappa/asin/asinAccuR6.gappa gappa/asin/asinAccuR7.gappa \
134	gappa/asin/asinAccuR8.gappa gappa/asin/asinAccuR9.gappa \
135	gappa/asin/asinQuickR0.gappa gappa/asin/asinQuickR1.gappa \
136	gappa/asin/asinQuickR2.gappa gappa/asin/asinQuickR3.gappa \
137	gappa/asin/asinQuickR4.gappa gappa/asin/asinQuickR5.gappa \
138	gappa/asin/asinQuickR6.gappa gappa/asin/asinQuickR7.gappa \
139	gappa/asin/asinQuickR8.gappa gappa/asin/asinQuickR9.gappa \
140	docs/latex/crlibm.tex \
141	docs/latex/0_intro.tex docs/latex/0_getting-started.tex\
142	docs/latex/1_common.tex docs/latex/sqrt.tex \
143	docs/latex/exp.tex docs/latex/expm1.tex \
144	docs/latex/log.tex docs/latex/log1p.tex docs/latex/log2.tex docs/latex/log10.tex\
145	docs/latex/asin.tex docs/latex/acos.tex docs/latex/atan.tex \
146	docs/latex/csh.tex docs/latex/trigo.tex docs/latex/trigpi.tex \
147	docs/latex/pow.tex \
148	docs/latex/fig_scs docs/latex/fig_exp\
149	docs/latex/elem-fun.bib\
150	docs/latex/tripledoubleprocedures.tex \
151	scs_lib/tests/tbx_timing.h \
152	tests/testperfs.sh\
153	triple-double.h double-extended.h \
154	log-de.c log-de.h log-td.c log-td.h
155