1*1e651e1eSRoland Levillain# 2*1e651e1eSRoland Levillain# @(#)Makefile 1.4 95/01/18 3*1e651e1eSRoland Levillain# 4*1e651e1eSRoland Levillain# ==================================================== 5*1e651e1eSRoland Levillain# Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 6*1e651e1eSRoland Levillain# 7*1e651e1eSRoland Levillain# Developed at SunSoft, a Sun Microsystems, Inc. business. 8*1e651e1eSRoland Levillain# Permission to use, copy, modify, and distribute this 9*1e651e1eSRoland Levillain# software is freely granted, provided that this notice 10*1e651e1eSRoland Levillain# is preserved. 11*1e651e1eSRoland Levillain# ==================================================== 12*1e651e1eSRoland Levillain# 13*1e651e1eSRoland Levillain# 14*1e651e1eSRoland Levillain 15*1e651e1eSRoland Levillain# 16*1e651e1eSRoland Levillain# There are two options in making libm at fdlibm compile time: 17*1e651e1eSRoland Levillain# _IEEE_LIBM --- IEEE libm; smaller, and somewhat faster 18*1e651e1eSRoland Levillain# _MULTI_LIBM --- Support multi-standard at runtime by 19*1e651e1eSRoland Levillain# imposing wrapper functions defined in 20*1e651e1eSRoland Levillain# fdlibm.h: 21*1e651e1eSRoland Levillain# _IEEE_MODE -- IEEE 22*1e651e1eSRoland Levillain# _XOPEN_MODE -- X/OPEN 23*1e651e1eSRoland Levillain# _POSIX_MODE -- POSIX/ANSI 24*1e651e1eSRoland Levillain# _SVID3_MODE -- SVID 25*1e651e1eSRoland Levillain# 26*1e651e1eSRoland Levillain# Here is how to set up CFLAGS to create the desired libm at 27*1e651e1eSRoland Levillain# compile time: 28*1e651e1eSRoland Levillain# 29*1e651e1eSRoland Levillain# CFLAGS = -D_IEEE_LIBM ... IEEE libm (recommended) 30*1e651e1eSRoland Levillain# CFLAGS = -D_SVID3_MODE ... Multi-standard supported 31*1e651e1eSRoland Levillain# libm with SVID as the 32*1e651e1eSRoland Levillain# default standard 33*1e651e1eSRoland Levillain# CFLAGS = -D_XOPEN_MODE ... Multi-standard supported 34*1e651e1eSRoland Levillain# libm with XOPEN as the 35*1e651e1eSRoland Levillain# default standard 36*1e651e1eSRoland Levillain# CFLAGS = -D_POSIX_MODE ... Multi-standard supported 37*1e651e1eSRoland Levillain# libm with POSIX as the 38*1e651e1eSRoland Levillain# default standard 39*1e651e1eSRoland Levillain# CFLAGS = ... Multi-standard supported 40*1e651e1eSRoland Levillain# libm with IEEE as the 41*1e651e1eSRoland Levillain# default standard 42*1e651e1eSRoland Levillain# 43*1e651e1eSRoland Levillain# NOTE: if scalb's second arguement is an int, then one must 44*1e651e1eSRoland Levillain# define _SCALB_INT in CFLAGS. The default prototype of scalb 45*1e651e1eSRoland Levillain# is double ieee_scalb(double, double) 46*1e651e1eSRoland Levillain# 47*1e651e1eSRoland Levillain 48*1e651e1eSRoland Levillainprefix = @prefix@ 49*1e651e1eSRoland Levillain 50*1e651e1eSRoland LevillainAR = @AR@ 51*1e651e1eSRoland Levillain 52*1e651e1eSRoland LevillainCC = @CC@ 53*1e651e1eSRoland Levillain 54*1e651e1eSRoland Levillain# 55*1e651e1eSRoland Levillain# Default IEEE libm 56*1e651e1eSRoland Levillain# 57*1e651e1eSRoland LevillainCFLAGS = @CFLAGS@ -D_IEEE_LIBM 58*1e651e1eSRoland Levillain 59*1e651e1eSRoland LevillainCHMOD = @CHMOD@ 60*1e651e1eSRoland Levillain 61*1e651e1eSRoland LevillainCP = @CP@ 62*1e651e1eSRoland Levillain 63*1e651e1eSRoland LevillainINCFILES = fdlibm.h 64*1e651e1eSRoland Levillain 65*1e651e1eSRoland LevillainLDFLAGS = @LDFLAGS@ 66*1e651e1eSRoland Levillain 67*1e651e1eSRoland LevillainLIB = libfdm.a 68*1e651e1eSRoland Levillain 69*1e651e1eSRoland LevillainLIBS = @LIBS@ 70*1e651e1eSRoland Levillain 71*1e651e1eSRoland LevillainRANLIB = @RANLIB@ 72*1e651e1eSRoland Levillain 73*1e651e1eSRoland LevillainRM = @RM@ -f 74*1e651e1eSRoland Levillain 75*1e651e1eSRoland Levillain.INIT: $(INCFILES) 76*1e651e1eSRoland Levillain 77*1e651e1eSRoland Levillain.KEEP_STATE: 78*1e651e1eSRoland Levillain 79*1e651e1eSRoland Levillainsrc = k_standard.c k_rem_pio2.c \ 80*1e651e1eSRoland Levillain k_cos.c k_sin.c k_tan.c \ 81*1e651e1eSRoland Levillain e_acos.c e_acosh.c e_asin.c e_atan2.c \ 82*1e651e1eSRoland Levillain e_atanh.c e_cosh.c e_exp.c e_fmod.c \ 83*1e651e1eSRoland Levillain e_gamma.c e_gamma_r.c e_hypot.c e_j0.c \ 84*1e651e1eSRoland Levillain e_j1.c e_jn.c e_lgamma.c e_lgamma_r.c \ 85*1e651e1eSRoland Levillain e_log.c e_log10.c e_pow.c e_rem_pio2.c e_remainder.c \ 86*1e651e1eSRoland Levillain e_scalb.c e_sinh.c e_sqrt.c \ 87*1e651e1eSRoland Levillain w_acos.c w_acosh.c w_asin.c w_atan2.c \ 88*1e651e1eSRoland Levillain w_atanh.c w_cosh.c w_exp.c w_fmod.c \ 89*1e651e1eSRoland Levillain w_gamma.c w_gamma_r.c w_hypot.c w_j0.c \ 90*1e651e1eSRoland Levillain w_j1.c w_jn.c w_lgamma.c w_lgamma_r.c \ 91*1e651e1eSRoland Levillain w_log.c w_log10.c w_pow.c w_remainder.c \ 92*1e651e1eSRoland Levillain w_scalb.c w_sinh.c w_sqrt.c \ 93*1e651e1eSRoland Levillain s_asinh.c s_atan.c s_cbrt.c s_ceil.c s_copysign.c \ 94*1e651e1eSRoland Levillain s_cos.c s_erf.c s_expm1.c s_fabs.c s_finite.c s_floor.c \ 95*1e651e1eSRoland Levillain s_frexp.c s_ilogb.c s_isnan.c s_ldexp.c s_lib_version.c \ 96*1e651e1eSRoland Levillain s_log1p.c s_logb.c s_matherr.c s_modf.c s_nextafter.c \ 97*1e651e1eSRoland Levillain s_rint.c s_scalbn.c s_signgam.c s_significand.c s_sin.c \ 98*1e651e1eSRoland Levillain s_tan.c s_tanh.c 99*1e651e1eSRoland Levillain 100*1e651e1eSRoland Levillainobj = k_standard.o k_rem_pio2.o \ 101*1e651e1eSRoland Levillain k_cos.o k_sin.o k_tan.o \ 102*1e651e1eSRoland Levillain e_acos.o e_acosh.o e_asin.o e_atan2.o \ 103*1e651e1eSRoland Levillain e_atanh.o e_cosh.o e_exp.o e_fmod.o \ 104*1e651e1eSRoland Levillain e_gamma.o e_gamma_r.o e_hypot.o e_j0.o \ 105*1e651e1eSRoland Levillain e_j1.o e_jn.o e_lgamma.o e_lgamma_r.o \ 106*1e651e1eSRoland Levillain e_log.o e_log10.o e_pow.o e_rem_pio2.o e_remainder.o \ 107*1e651e1eSRoland Levillain e_scalb.o e_sinh.o e_sqrt.o \ 108*1e651e1eSRoland Levillain w_acos.o w_acosh.o w_asin.o w_atan2.o \ 109*1e651e1eSRoland Levillain w_atanh.o w_cosh.o w_exp.o w_fmod.o \ 110*1e651e1eSRoland Levillain w_gamma.o w_gamma_r.o w_hypot.o w_j0.o \ 111*1e651e1eSRoland Levillain w_j1.o w_jn.o w_lgamma.o w_lgamma_r.o \ 112*1e651e1eSRoland Levillain w_log.o w_log10.o w_pow.o w_remainder.o \ 113*1e651e1eSRoland Levillain w_scalb.o w_sinh.o w_sqrt.o \ 114*1e651e1eSRoland Levillain s_asinh.o s_atan.o s_cbrt.o s_ceil.o s_copysign.o \ 115*1e651e1eSRoland Levillain s_cos.o s_erf.o s_expm1.o s_fabs.o s_finite.o s_floor.o \ 116*1e651e1eSRoland Levillain s_frexp.o s_ilogb.o s_isnan.o s_ldexp.o s_lib_version.o \ 117*1e651e1eSRoland Levillain s_log1p.o s_logb.o s_matherr.o s_modf.o s_nextafter.o \ 118*1e651e1eSRoland Levillain s_rint.o s_scalbn.o s_signgam.o s_significand.o s_sin.o \ 119*1e651e1eSRoland Levillain s_tan.o s_tanh.o 120*1e651e1eSRoland Levillain 121*1e651e1eSRoland Levillainall: $(LIB) 122*1e651e1eSRoland Levillain 123*1e651e1eSRoland Levillaincheck: 124*1e651e1eSRoland Levillain @echo This package does not have a validation suite. 125*1e651e1eSRoland Levillain 126*1e651e1eSRoland Levillainclean: 127*1e651e1eSRoland Levillain -$(RM) *~ #* core a.out 128*1e651e1eSRoland Levillain 129*1e651e1eSRoland Levillaindistclean: mostlyclean 130*1e651e1eSRoland Levillain -$(RM) $(LIB) 131*1e651e1eSRoland Levillain -$(RM) -r autom4te.cache/ 132*1e651e1eSRoland Levillain -$(RM) config.cache config.log config.status Makefile 133*1e651e1eSRoland Levillain 134*1e651e1eSRoland Levillaininstall: $(LIB) uninstall 135*1e651e1eSRoland Levillain $(CP) $(LIB) $(prefix)/lib/$(LIB) 136*1e651e1eSRoland Levillain $(CHMOD) 664 $(prefix)/lib/$(LIB) 137*1e651e1eSRoland Levillain $(RANLIB) $(prefix)/lib/$(LIB) || true 138*1e651e1eSRoland Levillain 139*1e651e1eSRoland Levillain$(LIB) : $(obj) 140*1e651e1eSRoland Levillain $(AR) cru $(LIB) $(obj) 141*1e651e1eSRoland Levillain $(RANLIB) $(LIB) || true 142*1e651e1eSRoland Levillain 143*1e651e1eSRoland Levillainmaintainer-clean: distclean 144*1e651e1eSRoland Levillain @echo "This command is intended for maintainers to use;" 145*1e651e1eSRoland Levillain @echo "it deletes files that may require special tools to rebuild." 146*1e651e1eSRoland Levillain -$(RM) configure 147*1e651e1eSRoland Levillain 148*1e651e1eSRoland Levillainmostlyclean: clean 149*1e651e1eSRoland Levillain -$(RM) $(obj) 150*1e651e1eSRoland Levillain 151*1e651e1eSRoland Levillainsource: $(src) README 152*1e651e1eSRoland Levillain 153*1e651e1eSRoland Levillainuninstall: 154*1e651e1eSRoland Levillain -$(RM) $(prefix)/lib/$(LIB) 155