-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makefile
110 lines (100 loc) · 3.39 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#
# @(#)Makefile 1.4 95/01/18
#
# ====================================================
# Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
#
# Developed at SunSoft, a Sun Microsystems, Inc. business.
# Permission to use, copy, modify, and distribute this
# software is freely granted, provided that this notice
# is preserved.
# ====================================================
#
#
#
# There are two options in making libm at fdlibm compile time:
# _IEEE_LIBM --- IEEE libm; smaller, and somewhat faster
# _MULTI_LIBM --- Support multi-standard at runtime by
# imposing wrapper functions defined in
# fdlibm.h:
# _IEEE_MODE -- IEEE
# _XOPEN_MODE -- X/OPEN
# _POSIX_MODE -- POSIX/ANSI
# _SVID3_MODE -- SVID
#
# Here is how to set up CFLAGS to create the desired libm at
# compile time:
#
# CFLAGS = -D_IEEE_LIBM ... IEEE libm (recommended)
# CFLAGS = -D_SVID3_MODE ... Multi-standard supported
# libm with SVID as the
# default standard
# CFLAGS = -D_XOPEN_MODE ... Multi-standard supported
# libm with XOPEN as the
# default standard
# CFLAGS = -D_POSIX_MODE ... Multi-standard supported
# libm with POSIX as the
# default standard
# CFLAGS = ... Multi-standard supported
# libm with IEEE as the
# default standard
#
# NOTE: if scalb's second arguement is an int, then one must
# define _SCALB_INT in CFLAGS. The default prototype of scalb
# is double scalb(double, double)
#
#
# Default IEEE libm
#
CFLAGS = -D_IEEE_LIBM
CC = cc
INCFILES = fdlibm.h
.INIT: $(INCFILES)
.KEEP_STATE:
src = k_standard.c k_rem_pio2.c \
k_cos.c k_sin.c k_tan.c \
e_acos.c e_acosh.c e_asin.c e_atan2.c \
e_atanh.c e_cosh.c e_exp.c e_fmod.c \
e_gamma.c e_gamma_r.c e_hypot.c e_j0.c \
e_j1.c e_jn.c e_lgamma.c e_lgamma_r.c \
e_log.c e_log10.c e_pow.c e_rem_pio2.c e_remainder.c \
e_scalb.c e_sinh.c e_sqrt.c \
w_acos.c w_acosh.c w_asin.c w_atan2.c \
w_atanh.c w_cosh.c w_exp.c w_fmod.c \
w_gamma.c w_gamma_r.c w_hypot.c w_j0.c \
w_j1.c w_jn.c w_lgamma.c w_lgamma_r.c \
w_log.c w_log10.c w_pow.c w_remainder.c \
w_scalb.c w_sinh.c w_sqrt.c \
s_asinh.c s_atan.c s_cbrt.c s_ceil.c s_copysign.c \
s_cos.c s_erf.c s_expm1.c s_fabs.c s_finite.c s_floor.c \
s_frexp.c s_ilogb.c s_isnan.c s_ldexp.c s_lib_version.c \
s_log1p.c s_logb.c s_matherr.c s_modf.c s_nextafter.c \
s_rint.c s_scalbn.c s_signgam.c s_significand.c s_sin.c \
s_tan.c s_tanh.c
obj = k_standard.o k_rem_pio2.o \
k_cos.o k_sin.o k_tan.o \
e_acos.o e_acosh.o e_asin.o e_atan2.o \
e_atanh.o e_cosh.o e_exp.o e_fmod.o \
e_gamma.o e_gamma_r.o e_hypot.o e_j0.o \
e_j1.o e_jn.o e_lgamma.o e_lgamma_r.o \
e_log.o e_log10.o e_pow.o e_rem_pio2.o e_remainder.o \
e_scalb.o e_sinh.o e_sqrt.o \
w_acos.o w_acosh.o w_asin.o w_atan2.o \
w_atanh.o w_cosh.o w_exp.o w_fmod.o \
w_gamma.o w_gamma_r.o w_hypot.o w_j0.o \
w_j1.o w_jn.o w_lgamma.o w_lgamma_r.o \
w_log.o w_log10.o w_pow.o w_remainder.o \
w_scalb.o w_sinh.o w_sqrt.o \
s_asinh.o s_atan.o s_cbrt.o s_ceil.o s_copysign.o \
s_cos.o s_erf.o s_expm1.o s_fabs.o s_finite.o s_floor.o \
s_frexp.o s_ilogb.o s_isnan.o s_ldexp.o s_lib_version.o \
s_log1p.o s_logb.o s_matherr.o s_modf.o s_nextafter.o \
s_rint.o s_scalbn.o s_signgam.o s_significand.o s_sin.o \
s_tan.o s_tanh.o
all: libm.a
libm.a : $(obj)
ar cru libm.a $(obj)
ranlib libm.a
source: $(src) README
clean:
/bin/rm -f $(obj) a.out libm.a