newlib-cygwin/newlib/libm/common
Mike Frysinger ac9f8c46b1 newlib: libm: merge build up a directory
Convert all the libm/ subdir makes into the top-level Makefile.  This
allows us to build all of libm from the top Makefile without using any
recursive make calls.  This is faster and avoids the funky lib.a logic
where we unpack subdir archives to repack into a single libm.a.  The
machine override logic is maintained though by way of Makefile include
ordering, and source file accumulation in libm_a_SOURCES.

One thing to note is that this will require GNU Make because of:
	libm_a_CFLAGS = ... $(libm_a_CFLAGS_$(subst /,_,$(@D)))
This was the only way I could find to supporting per-dir compiler
settings, and I couldn't find a POSIX compatible way of transforming
the variable content.  I don't think this is a big deal as other
Makefiles in the tree are using GNU Make-specific syntax, but I call
this out as it's the only one so far in the new automake code that
I've been writing.

Automake doesn't provide precise control over the output object names
(by design).  This is fine by default as we get consistent names in all
the subdirs: libm_a-<source>.o.  But this relies on using the same set
of compiler flags for all objects.  We currently compile libm/common/
with different optimizations than the rest.

If we want to compile objects differently, we can create an intermediate
archive with the subset of objects with unique flags, and then add those
objects to the main archive.  But Automake will use a different prefix
for the objects, and thus we can't rely on ordering to override.

But if we leverage $@, we can turn Automake's CFLAGS into a multiplex
on a per-dir (and even per-file if we wanted) basis.  Unfortunately,
since $@ contains /, Automake complains it's an invalid name.  While
GNU Make supports this, it's a POSIX extension, so Automake flags it.
Using $(subst) avoids the Automake warning to get a POSIX compliant
name, albeit with a GNU Make extension.
2022-02-17 20:56:32 -05:00
..
Makefile.inc newlib: libm: merge build up a directory 2022-02-17 20:56:32 -05:00
acoshl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
acosl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
asinhl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
asinl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
atan2l.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
atanhl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
atanl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
cbrtl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
ceill.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
copysignl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
cosf.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
coshl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
cosl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
erfcl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
erfl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
exp.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
exp2.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
exp2l.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
exp_data.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
expl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
expm1l.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
fabsl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
fdiml.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
fdlibm.h Add declarations for __ieee754_tgamma functions to fdlibm.h 2020-12-16 15:28:09 -05:00
floorl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
fmal.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
fmaxl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
fminl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
fmodl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
frexpl.c frexpl: Support smaller long double of LDBL_MANT_DIG == 53. 2021-12-03 19:14:03 +09:00
hypotl.c Remove HUGE_VAL definition from libm math functions 2019-01-23 10:46:30 +01:00
ilogbl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
isgreater.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
ldexpl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
lgammal.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
llrintl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
llroundl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
local.h 2009-04-24 Jeff johnston <jjohnstn@redhat.com> 2009-04-24 22:49:55 +00:00
log.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
log1pl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
log2.c Typo in license terms for newlib/libm/common/log2.c 2020-02-06 11:58:50 +01:00
log2_data.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
log2l.c 2014-12-15 Jonathan Roelofs <jonathan@codesourcery.com> 2014-12-15 20:50:23 +00:00
log10l.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
log_data.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
logbl.c 2014-12-15 Jonathan Roelofs <jonathan@codesourcery.com> 2014-12-15 20:50:23 +00:00
logl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
lrintl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
lroundl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
math_config.h libm/machine/riscv: Add custom fma/sqrt functions when supported [v2] 2020-08-12 09:52:19 +02:00
math_err.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
math_errf.c libm/math: Use __math_xflow in obsolete math code [v2] 2020-08-03 13:29:27 +02:00
modfl.c 2013-11-19 Joel Sherrill <joel.sherrill@oarcorp.com> 2013-11-19 17:28:04 +00:00
nanl.c Implement nanl in newlib only 2018-10-10 17:49:53 +02:00
nearbyintl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
nextafterl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
nexttoward.c 2014-12-15 Jonathan Roelofs <jonathan@codesourcery.com> 2014-12-15 20:50:23 +00:00
nexttowardf.c Use _LDBL_EQ_DBL in nexttowardf.c 2018-05-07 12:22:12 -04:00
nexttowardl.c 2014-12-15 Jonathan Roelofs <jonathan@codesourcery.com> 2014-12-15 20:50:23 +00:00
pow.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
pow_log_data.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
powl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
remainderl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
remquol.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
rintl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
roundl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
s_cbrt.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_copysign.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_exp10.c Remove matherr, and SVID and X/Open math library configurations 2019-01-23 10:46:24 +01:00
s_expm1.c Set errno in expm1{,f} / log1p{,f} 2019-07-09 13:06:59 -04:00
s_fdim.c Fix error in fdim/f for infinities 2020-03-10 15:11:23 +01:00
s_finite.c
s_fma.c libm/machine/arm: Add optimized fmaf and fma when available 2020-08-10 21:04:12 +02:00
s_fmax.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_fmin.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_fpclassify.c
s_ilogb.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_infinity.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_isinf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
s_isinfd.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
s_isnan.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_isnand.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
s_llrint.c fix llrint and lrint for 52 <= exponent <= 62 2018-05-29 15:59:48 +02:00
s_llround.c 2010-08-03 Craig Howland <howland@LGSInnovations.com> 2010-08-03 18:21:20 +00:00
s_log1p.c Set errno in expm1{,f} / log1p{,f} 2019-07-09 13:06:59 -04:00
s_log2.c Remove matherr, and SVID and X/Open math library configurations 2019-01-23 10:46:24 +01:00
s_logb.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_lrint.c fix llrint and lrint for 52 <= exponent <= 62 2018-05-29 15:59:48 +02:00
s_lround.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_modf.c newlib/libm/common: Don't re-convert float to bits in modf/modff 2020-03-26 12:21:33 +01:00
s_nan.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_nearbyint.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_nextafter.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_pow10.c Remove matherr, and SVID and X/Open math library configurations 2019-01-23 10:46:24 +01:00
s_remquo.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_rint.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_round.c libm/common/s_round.c (round): Add cast for 16-bit CPUs 2018-06-21 09:31:13 +02:00
s_scalbln.c
s_scalbn.c libm: Fixing overflow handling issue for scalbnf and scalbn 2021-07-21 09:56:04 +02:00
s_signbit.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
s_trunc.c libm/common: remove TRAD_SYNOPSIS 2017-12-01 03:41:53 -06:00
scalblnl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
scalbnl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
sf_cbrt.c
sf_copysign.c
sf_exp.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sf_exp2.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sf_exp2_data.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sf_exp10.c 2007-05-17 Yaakov Selkowitz <yselkowitz <at> users.sourceforge.net> 2007-05-17 18:50:57 +00:00
sf_expm1.c Set errno in expm1{,f} / log1p{,f} 2019-07-09 13:06:59 -04:00
sf_fdim.c Fix error in fdim/f for infinities 2020-03-10 15:11:23 +01:00
sf_finite.c
sf_fma.c libm/machine/arm: Add optimized fmaf and fma when available 2020-08-10 21:04:12 +02:00
sf_fmax.c
sf_fmin.c
sf_fpclassify.c
sf_ilogb.c 2010-02-11 Craig Howland <howland@LGSInnovations.com> 2010-02-11 21:00:33 +00:00
sf_infinity.c
sf_isinf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
sf_isinff.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
sf_isnan.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
sf_isnanf.c ansification: remove _DEFUN 2018-01-17 11:47:26 -06:00
sf_llrint.c * libm/common/sf_llrint.c, libm/common/sf_round.c: Add explicit casts 2010-10-08 15:24:56 +00:00
sf_llround.c 2009-03-25 Craig Howland <howland@LGSInnovations.com> 2009-03-25 19:13:24 +00:00
sf_log.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sf_log1p.c libm: switch sf_log1p from double error routines to float 2019-12-02 10:00:32 +01:00
sf_log2.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sf_log2_data.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sf_log_data.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sf_logb.c 2009-03-25 Craig Howland <howland@LGSInnovations.com> 2009-03-25 19:13:24 +00:00
sf_lrint.c Add new binutils target: moxie 2009-04-16 15:39:46 +00:00
sf_lround.c 2009-03-25 Craig Howland <howland@LGSInnovations.com> 2009-03-25 19:13:24 +00:00
sf_modf.c newlib/libm/common: Don't re-convert float to bits in modf/modff 2020-03-26 12:21:33 +01:00
sf_nan.c 2014-03-21 Maciej W. Rozycki <macro@codesourcery.com> 2014-03-21 21:27:29 +00:00
sf_nearbyint.c
sf_nextafter.c
sf_pow.c Fix powf overflow handling in non-nearest rounding mode 2018-12-10 16:51:05 +01:00
sf_pow10.c 2007-05-17 Yaakov Selkowitz <yselkowitz <at> users.sourceforge.net> 2007-05-17 18:50:57 +00:00
sf_pow_log2_data.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sf_remquo.c 2009-03-25 Craig Howland <howland@LGSInnovations.com> 2009-03-25 19:13:24 +00:00
sf_rint.c 2010-03-08 Craig Howland <howland@LGSInnovations.com> 2010-03-08 17:16:37 +00:00
sf_round.c Throughout, run newlib with -Wall -Werror option and fix bugs and 2012-08-08 11:04:18 +00:00
sf_scalbln.c
sf_scalbn.c libm: Fixing overflow handling issue for scalbnf and scalbn 2021-07-21 09:56:04 +02:00
sf_trunc.c Fix truncf for sNaN input 2020-03-11 12:10:58 +01:00
sincosf.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sincosf.h Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sincosf_data.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sinf.c Update Arm copyright notices in new math files 2018-09-28 11:03:55 +01:00
sinhl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
sinl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
sl_finite.c finitel: Use correct GCC builtin 2016-03-26 20:29:20 +01:00
sqrtl.c newlib: fix various gcc warnings 2018-08-08 10:50:19 +02:00
tanhl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
tanl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
tgammal.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00
truncl.c 2009-04-17 Jeff johnston <jjohnstn@redhat.com> 2009-04-17 22:15:43 +00:00