powf powl powi powif powil remainder remainderf remainderl remquo remquof \
remquol rint rintf rintl round roundf roundl scalbn scalbnf scalbnl signbit \
signbitf signbitl sqrtf sqrtl tgamma tgammaf tgammal trunc truncf truncl \
- x87cvt x87cvtf x87log x87log1p x87pow)
+ x87cvt x87cvtf x87log x87log1p x87pow x87remquo)
# Replacement I/O functions in libmingwex.a, providing better POSIX
# compatibility than their Microsoft equivalents.
libmingwex.a: $(addsuffix .$(OBJEXT), clockapi clockres clockset clocktime)
libmingwex.a: $(addsuffix .$(OBJEXT), insque remque tdelete tfind tsearch twalk)
libmingwex.a: $(addsuffix .$(OBJEXT), dirent wdirent dlfcn strerror_r strtok_r)
-libmingwex.a: $(addsuffix .$(OBJEXT), mkstemp mkdtemp cryptnam setenv)
+libmingwex.a: $(addsuffix .$(OBJEXT), mkstemp mkdtemp memcrypt cryptnam setenv)
vpath %.s ${mingwrt_srcdir}/mingwex
vpath %.sx ${mingwrt_srcdir}/mingwex
$(COMPILE.sx) -D_$*f_source -o $*f.$(OBJEXT) $<
$(COMPILE.sx) -D_$*l_source -o $*l.$(OBJEXT) $<
+# Assembly language sources for all fmod() and remainder() object
+# code variants originate from one fmod_generic.sx.in template.
+#
+vpath fmod_generic.sx.in ${srcdir}/mingwex/math
+fmod_generic.sx remainder_generic.sx: %_generic.sx: fmod_generic.sx.in
+ sed '$($*_generic_subst)' $< > $@
+
+# fmod() variants, and remainder() variants, require differing
+# template substitutions.
+#
+fmod_generic_subst = s:%name%:$*:;s:%fprem%:fprem:
+remainder_generic_subst = s:%name%:$*:;s:%fprem%:fprem1:
+
# Several generically implemented functions also require separate
-# assembly of their generic back-end support routines.
+# assembly of associated generic back-end support routines.
#
x87%.$(OBJEXT): %_generic.sx
$(COMPILE.sx) -o $@ $<