# Copyright (C) 1998 DJ Delorie, see COPYING.DJ for details
TOP=..

SRC += k_standard.c
SRC += k_rem_pio2.c
SRC += k_cos.c
SRC += k_sin.c
SRC += k_tan.c
SRC += e_acos.c
SRC += e_acosh.c
SRC += e_asin.c
SRC += e_atan2.c
SRC += e_atanh.c
SRC += e_cosh.c
SRC += e_exp.c
SRC += e_fmod.c
SRC += er_gamma.c
SRC += e_hypot.c
SRC += e_j0.c
SRC += e_j1.c
SRC += e_jn.c
SRC += er_lgamma.c
SRC += e_log.c
SRC += e_log10.c
SRC += e_pow.c
SRC += e_rem_pio2.c
SRC += e_remainder.c
SRC += e_scalb.c
SRC += e_sinh.c
SRC += e_sqrt.c
SRC += w_acos.c
SRC += w_acosh.c
SRC += w_asin.c
SRC += w_atan2.c
SRC += w_atanh.c
SRC += w_cosh.c
SRC += w_exp.c
SRC += w_fmod.c
SRC += w_gamma.c
SRC += wr_gamma.c
SRC += w_hypot.c
SRC += w_j0.c
SRC += w_j1.c
SRC += w_jn.c
SRC += w_lgamma.c
SRC += wr_lgamma.c
SRC += w_log.c
SRC += w_log10.c
SRC += w_pow.c
SRC += w_remainder.c
SRC += w_scalb.c
SRC += w_sinh.c
SRC += w_sqrt.c
SRC += w_cabs.c
SRC += w_drem.c
SRC += s_asinh.c
SRC += s_atan.c
SRC += s_cbrt.c
SRC += s_ceil.c
SRC += s_copysign.c
SRC += s_cos.c
SRC += s_erf.c
SRC += s_expm1.c
SRC += s_fabs.c
SRC += s_finite.c
SRC += s_floor.c
SRC += s_frexp.c
SRC += s_ilogb.c
SRC += s_isnan.c
SRC += s_ldexp.c
SRC += s_lib_ver.c
SRC += s_log1p.c
SRC += s_logb.c
SRC += s_matherr.c
SRC += s_modf.c
SRC += s_nextafter.c
SRC += s_rint.c
SRC += s_scalbn.c
SRC += s_signif.c
SRC += s_sin.c
SRC += s_tan.c
SRC += s_tanh.c
SRC += s_infinity.c
SRC += s_isinf.c
SRC += s_nan.c
SRC += s_infconst.c
SRC += s_signgam.c
SRC += kf_rem_pio2.c
SRC += kf_cos.c
SRC += kf_sin.c
SRC += kf_tan.c
SRC += ef_acos.c
SRC += ef_acosh.c
SRC += ef_asin.c
SRC += ef_atan2.c
SRC += ef_atanh.c
SRC += ef_cosh.c
SRC += ef_exp.c
SRC += ef_fmod.c
SRC += erf_gamma.c
SRC += ef_hypot.c
SRC += ef_j0.c
SRC += ef_j1.c
SRC += ef_jn.c
SRC += erf_lgamma.c
SRC += ef_log.c
SRC += ef_log10.c
SRC += ef_pow.c
SRC += ef_rem_pio2.c
SRC += ef_remainder.c
SRC += ef_scalb.c
SRC += ef_sinh.c
SRC += ef_sqrt.c
SRC += wf_acos.c
SRC += wf_acosh.c
SRC += wf_asin.c
SRC += wf_atan2.c
SRC += wf_atanh.c
SRC += wf_cosh.c
SRC += wf_exp.c
SRC += wf_fmod.c
SRC += wf_gamma.c
SRC += wrf_gamma.c
SRC += wf_hypot.c
SRC += wf_j0.c
SRC += wf_j1.c
SRC += wf_jn.c
SRC += wf_lgamma.c
SRC += wrf_lgamma.c
SRC += wf_log.c
SRC += wf_log10.c
SRC += wf_pow.c
SRC += wf_remainder.c
SRC += wf_scalb.c
SRC += wf_sinh.c
SRC += wf_sqrt.c
SRC += wf_cabs.c
SRC += wf_drem.c
SRC += sf_asinh.c
SRC += sf_atan.c
SRC += sf_cbrt.c
SRC += sf_ceil.c
SRC += sf_copysign.c
SRC += sf_cos.c
SRC += sf_erf.c
SRC += sf_expm1.c
SRC += sf_fabs.c
SRC += sf_finite.c
SRC += sf_floor.c
SRC += sf_frexp.c
SRC += sf_ilogb.c
SRC += sf_isnan.c
SRC += sf_ldexp.c
SRC += sf_log1p.c
SRC += sf_logb.c
SRC += sf_modf.c
SRC += sf_nextafter.c
SRC += sf_rint.c
SRC += sf_scalbn.c
SRC += sf_signif.c
SRC += sf_sin.c
SRC += sf_tan.c
SRC += sf_tanh.c
SRC += sf_infinity.c
SRC += sf_isinf.c
SRC += sf_nan.c

chobj = w_acos.def w_acosh.def w_asin.def s_asinh.def \
	s_atan.def w_atan2.def w_atanh.def w_j0.def \
	s_copysign.def w_cosh.def s_erf.def w_exp.def \
	s_fabs.def s_floor.def w_fmod.def s_frexp.def \
	w_gamma.def w_hypot.def s_ldexp.def w_log.def \
	w_log10.def s_log1p.def s_matherr.def s_modf.def \
	w_pow.def w_remainder.def s_sin.def w_sinh.def \
	s_cbrt.def w_sqrt.def s_tan.def s_tanh.def \
	s_infinity.def s_isnan.def s_scalbn.def s_nextafter.def \
	s_nan.def s_ilogb.def s_expm1.def

CFLAGS = -D_USE_LIBM_MATH_H
EXTRA_FILES = $(TOP)/../../info/libm.info
# chew emits non-fatal warnings, so we redirect them to the void
CHEW = ./chew.exe -f ./doc.str -e /dev/null

# Common rules and targets
include $(TOP)/../makefile.inc

# Additional rules specific to this library
$(TOP)/../../info/libm.info: libm.texinfo targetdep.texi
	makeinfo -o $@ --no-split libm.texinfo

targetdep.texi: $(chobj) math.texi
	$(MISC) cp math.texi $@

%.def: %.c chew.exe
	$(CHEW) < $< > $@

chew.exe: chew.c ansidecl.h
	$(GCC) -D_HAVE_STDC -O2 -o $@ $<

clean ::
	-$(MISC) rm *.def *.d chew.exe targetdep.texi

# Additional dependencies
$(OBJS): fdlibm.h $(TOP)/../../include/libm/math.h
