xref: /freebsd/contrib/gdtoa/makefile (revision c88250a5)
1cc36ccd1SDavid Schultz# /****************************************************************
2cc36ccd1SDavid Schultz# Copyright (C) 1998 by Lucent Technologies
3cc36ccd1SDavid Schultz# All Rights Reserved
4cc36ccd1SDavid Schultz#
5cc36ccd1SDavid Schultz# Permission to use, copy, modify, and distribute this software and
6cc36ccd1SDavid Schultz# its documentation for any purpose and without fee is hereby
7cc36ccd1SDavid Schultz# granted, provided that the above copyright notice appear in all
8cc36ccd1SDavid Schultz# copies and that both that the copyright notice and this
9cc36ccd1SDavid Schultz# permission notice and warranty disclaimer appear in supporting
10cc36ccd1SDavid Schultz# documentation, and that the name of Lucent or any of its entities
11cc36ccd1SDavid Schultz# not be used in advertising or publicity pertaining to
12cc36ccd1SDavid Schultz# distribution of the software without specific, written prior
13cc36ccd1SDavid Schultz# permission.
14cc36ccd1SDavid Schultz#
15cc36ccd1SDavid Schultz# LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
16cc36ccd1SDavid Schultz# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
17cc36ccd1SDavid Schultz# IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
18cc36ccd1SDavid Schultz# SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
19cc36ccd1SDavid Schultz# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
20cc36ccd1SDavid Schultz# IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
21cc36ccd1SDavid Schultz# ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
22cc36ccd1SDavid Schultz# THIS SOFTWARE.
23cc36ccd1SDavid Schultz#
24cc36ccd1SDavid Schultz# ****************************************************************/
25cc36ccd1SDavid Schultz
26cc36ccd1SDavid Schultz.SUFFIXES: .c .o
27cc36ccd1SDavid SchultzCC = cc
28cc36ccd1SDavid SchultzCFLAGS = -g -DINFNAN_CHECK
29cc36ccd1SDavid Schultz
30cc36ccd1SDavid Schultz.c.o:
31cc36ccd1SDavid Schultz	$(CC) -c $(CFLAGS) $*.c
32cc36ccd1SDavid Schultz
33c88250a5SDavid Schultzall: arith.h gd_qnan.h gdtoa.a
34cc36ccd1SDavid Schultz
35cc36ccd1SDavid Schultzarith.h: arithchk.c
36cc36ccd1SDavid Schultz	$(CC) $(CFLAGS) arithchk.c || $(CC) -DNO_LONG_LONG $(CFLAGS) arithchk.c
37cc36ccd1SDavid Schultz	./a.out >arith.h
38cc36ccd1SDavid Schultz	rm -f a.out arithchk.o
39cc36ccd1SDavid Schultz
40c88250a5SDavid Schultzgd_qnan.h: arith.h qnan.c
41c88250a5SDavid Schultz	$(CC) $(CFLAGS) qnan.c
42c88250a5SDavid Schultz	./a.out >gd_qnan.h
43c88250a5SDavid Schultz	rm -f a.out qnan.o
44c88250a5SDavid Schultz
45cc36ccd1SDavid Schultzgdtoa.a: dmisc.c dtoa.c g_Qfmt.c g__fmt.c g_ddfmt.c g_dfmt.c g_ffmt.c\
46cc36ccd1SDavid Schultz	 g_xLfmt.c g_xfmt.c gdtoa.c gethex.c gmisc.c hd_init.c hexnan.c\
47cc36ccd1SDavid Schultz	 misc.c smisc.c strtoIQ.c strtoId.c strtoIdd.c strtoIf.c strtoIg.c\
48cc36ccd1SDavid Schultz	 strtoIx.c strtoIxL.c strtod.c strtodI.c strtodg.c strtof.c strtopQ.c\
49cc36ccd1SDavid Schultz	 strtopd.c strtopdd.c strtopf.c strtopx.c strtopxL.c strtorQ.c\
50cc36ccd1SDavid Schultz	 strtord.c strtordd.c strtorf.c strtorx.c strtorxL.c sum.c ulp.c
51cc36ccd1SDavid Schultz	$(CC) -c $(CFLAGS) $?
52cc36ccd1SDavid Schultz	x=`echo $? | sed 's/\.c/.o/g'` && ar ruv gdtoa.a $$x && rm $$x
53cc36ccd1SDavid Schultz	ranlib gdtoa.a || true
54cc36ccd1SDavid Schultz
55cc36ccd1SDavid Schultz# If your system lacks ranlib, you do not need it.
56cc36ccd1SDavid Schultz
57cc36ccd1SDavid Schultzxs0 = README arithchk.c dmisc.c dtoa.c g_Qfmt.c g__fmt.c g_ddfmt.c g_dfmt.c\
58cc36ccd1SDavid Schultz	 g_ffmt.c g_xLfmt.c g_xfmt.c gdtoa.c gdtoa.h gdtoaimp.h gethex.c\
59c88250a5SDavid Schultz	 gmisc.c hd_init.c hexnan.c makefile misc.c qnan.c smisc.c strtoIQ.c\
60cc36ccd1SDavid Schultz	 strtoId.c strtoIdd.c strtoIf.c strtoIg.c strtoIx.c strtoIxL.c\
61c88250a5SDavid Schultz	 strtod.c strtodI.c strtodg.c strtodnrp.c strtof.c strtopQ.c strtopd.c\
62c88250a5SDavid Schultz	 strtopdd.c strtopf.c strtopx.c strtopxL.c strtorQ.c strtord.c strtordd.c\
63cc36ccd1SDavid Schultz	 strtorf.c strtorx.c strtorxL.c sum.c ulp.c
64cc36ccd1SDavid Schultz
65cc36ccd1SDavid Schultz# "make xsum.out" to check for transmission errors; source for xsum is
66cc36ccd1SDavid Schultz# netlib's "xsum.c from f2c", e.g.,
67cc36ccd1SDavid Schultz# ftp://netlib.bell-labs.com/netlib/f2c/xsum.c.gz
68cc36ccd1SDavid Schultz
69cc36ccd1SDavid Schultzxsum.out: xsum0.out $(xs0)
70cc36ccd1SDavid Schultz	xsum $(xs0) >xsum1.out
71cc36ccd1SDavid Schultz	cmp xsum0.out xsum1.out && mv xsum1.out xsum.out || diff xsum[01].out
72cc36ccd1SDavid Schultz
73cc36ccd1SDavid Schultzclean:
74c88250a5SDavid Schultz	rm -f arith.h gd_qnan.h *.[ao] xsum.out xsum1.out
75