support/fdlibm/Makefile.mingw
branchcvs_MAIN
changeset 3531 a0699eb230de
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/support/fdlibm/Makefile.mingw	Thu Mar 03 16:26:03 2016 +0100
@@ -0,0 +1,146 @@
+#
+#
+
+!include ..\..\..\rules\stdHeader_bc
+
+#
+# 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)
+#
+OUTDIR=
+
+INCL=
+
+AR      = $(MINGW_DIR)\bin\ar
+CC      = $(MINGW_DIR)\bin\gcc
+
+#
+# Default IEEE libm
+#
+# CFLAGS  = -O $(INCL)
+
+CHMOD   = chmod
+
+CP      = cp
+
+INCFILES = fdlibm.h
+
+LDFLAGS =
+
+LIB     = libfdm.lib
+
+LIBS    =
+
+RANLIB  = ranlib
+
+RM      = del
+
+
+
+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 =   $(OUTDIR)k_standard.$(O) $(OUTDIR)k_rem_pio2.$(O) \
+	$(OUTDIR)k_cos.$(O) $(OUTDIR)k_sin.$(O) $(OUTDIR)k_tan.$(O) \
+	$(OUTDIR)e_acos.$(O) $(OUTDIR)e_acosh.$(O) $(OUTDIR)e_asin.$(O) $(OUTDIR)e_atan2.$(O) \
+	$(OUTDIR)e_atanh.$(O) $(OUTDIR)e_cosh.$(O) $(OUTDIR)e_exp.$(O) $(OUTDIR)e_fmod.$(O) \
+	$(OUTDIR)e_gamma.$(O) $(OUTDIR)e_gamma_r.$(O) $(OUTDIR)e_hypot.$(O) $(OUTDIR)e_j0.$(O) \
+	$(OUTDIR)e_j1.$(O) $(OUTDIR)e_jn.$(O) $(OUTDIR)e_lgamma.$(O) $(OUTDIR)e_lgamma_r.$(O) \
+	$(OUTDIR)e_log.$(O) $(OUTDIR)e_log10.$(O) $(OUTDIR)e_pow.$(O) $(OUTDIR)e_rem_pio2.$(O) $(OUTDIR)e_remainder.$(O)  \
+	$(OUTDIR)e_scalb.$(O) $(OUTDIR)e_sinh.$(O) $(OUTDIR)e_sqrt.$(O) \
+	$(OUTDIR)w_acos.$(O) $(OUTDIR)w_acosh.$(O) $(OUTDIR)w_asin.$(O) $(OUTDIR)w_atan2.$(O) \
+	$(OUTDIR)w_atanh.$(O) $(OUTDIR)w_cosh.$(O) $(OUTDIR)w_exp.$(O) $(OUTDIR)w_fmod.$(O) \
+	$(OUTDIR)w_gamma.$(O) $(OUTDIR)w_gamma_r.$(O) $(OUTDIR)w_hypot.$(O) $(OUTDIR)w_j0.$(O) \
+	$(OUTDIR)w_j1.$(O) $(OUTDIR)w_jn.$(O) $(OUTDIR)w_lgamma.$(O) $(OUTDIR)w_lgamma_r.$(O) \
+	$(OUTDIR)w_log.$(O) $(OUTDIR)w_log10.$(O) $(OUTDIR)w_pow.$(O) $(OUTDIR)w_remainder.$(O) \
+	$(OUTDIR)w_scalb.$(O) $(OUTDIR)w_sinh.$(O) $(OUTDIR)w_sqrt.$(O) \
+	$(OUTDIR)s_asinh.$(O) $(OUTDIR)s_atan.$(O) $(OUTDIR)s_cbrt.$(O) $(OUTDIR)s_ceil.$(O) $(OUTDIR)s_copysign.$(O) \
+	$(OUTDIR)s_cos.$(O) $(OUTDIR)s_erf.$(O) $(OUTDIR)s_expm1.$(O) $(OUTDIR)s_fabs.$(O) $(OUTDIR)s_finite.$(O) $(OUTDIR)s_floor.$(O) \
+	$(OUTDIR)s_frexp.$(O) $(OUTDIR)s_ilogb.$(O) $(OUTDIR)s_isnan.$(O) $(OUTDIR)s_ldexp.$(O) $(OUTDIR)s_lib_version.$(O) \
+	$(OUTDIR)s_log1p.$(O) $(OUTDIR)s_logb.$(O) $(OUTDIR)s_matherr.$(O) $(OUTDIR)s_modf.$(O) $(OUTDIR)s_nextafter.$(O) \
+	$(OUTDIR)s_rint.$(O) $(OUTDIR)s_scalbn.$(O) $(OUTDIR)s_signgam.$(O) $(OUTDIR)s_significand.$(O) $(OUTDIR)s_sin.$(O) \
+	$(OUTDIR)s_tan.$(O) $(OUTDIR)s_tanh.$(O)
+
+all: $(LIB)
+
+check:
+	@echo This package does not have a validation suite.
+
+clean:
+	-$(RM) *.$(O) $(LIB)
+
+distclean:      mostlyclean
+	-$(RM) $(LIB)
+	-$(RM) -r autom4te.cache/
+	-$(RM) config.cache config.log config.status Makefile
+
+install:        $(LIB) uninstall
+	$(CP) $(LIB) $(prefix)/lib/$(LIB)
+	$(CHMOD) 664 $(prefix)/lib/$(LIB)
+	$(RANLIB) $(prefix)/lib/$(LIB) || true
+
+$(LIB) : $(obj)
+	-del $(LIB)
+	$(AR) r $(LIB) $(obj)
+
+maintainer-clean:       distclean
+	@echo "This command is intended for maintainers to use;"
+	@echo "it deletes files that may require special tools to rebuild."
+	-$(RM) configure
+
+mostlyclean:    clean
+	-$(RM) $(obj)
+
+source: $(src) README
+
+uninstall:
+	-$(RM) $(prefix)/lib/$(LIB)
+
+.c.$(O):
+	$(CC) $(CFLAGS) -c -o $*.$(O) $*.c