5 # Common ieee754 constants and functions
6 SRCS+= infinityf_ieee754.c infinity_ieee754.c
7 SRCS+= fpclassifyf_ieee754.c fpclassifyd_ieee754.c
8 SRCS+= isinff_ieee754.c isinfd_ieee754.c
9 SRCS+= isnanf_ieee754.c isnand_ieee754.c
10 SRCS+= isfinitef_ieee754.c isfinited_ieee754.c
11 SRCS+= signbitf_ieee754.c signbitd_ieee754.c
15 # 68000-based machines use a double-extended `long double' type
16 # for which the generic ieee754 versions can be used
17 .if ${MACHINE_ARCH} == "m68000"
18 SRCS+= infinityl_dbl_ieee754.c
21 SRCS+= fpclassifyl.c isfinitel.c isinfl.c isnanl.c signbitl.c
24 SRCS+= ashlsi3.S ashrsi3.S \
27 SRCS+= bswap16.S bswap32.S bswap64.S
30 # 68000-based machines build with a libgcc that includes
31 # much of the (soft)float and integer support that would
32 # otherwise be compiled here.
33 .if (${MACHINE_ARCH} == "m68000" || ${MKSOFTFLOAT} == "yes")
34 SRCS+= modf_ieee754.c # generic ieee754 version
35 SRCS+= flt_rounds_softfloat.S
36 .if ${MKSOFTFLOAT} != "yes"
41 SRCS+= flt_rounds.S fpgetmask.S fpgetround.S fpgetsticky.S fpsetmask.S \
42 fpsetround.S fpsetsticky.S
43 SRCS+= adddf3.S addsf3.S cmpdf2.S cmpsf2.S divdf3.S \
44 divsf3.S divsi3.S extendsfdf2.S fixdfsi.S fixunsdfsi.S \
45 floatsidf.S modsi3.S muldf3.S mulsf3.S mulsi3.S \
46 subdf3.S subsf3.S truncdfsf2.S udivsi3.S \
50 SRCS+= setjmp.S longjmp.c
54 SRCS+= makecontext.c resumecontext.S swapcontext.S
57 SRCS+= ldexp_ieee754.c # generic ieee754 version
59 SRCS+= ldexp_ieee754.c # generic ieee754 version
61 SRCS+= ldexp_ieee754.c # generic ieee754 version
62 .elif ${MACHINE_ARCH} == "m68000"
63 SRCS+= ldexp_ieee754.c # generic ieee754 version
68 LSRCS.m68k.gen= Lint_bswap16.c Lint_bswap32.c Lint_bswap64.c \
69 Lint_resumecontext.c Lint_swapcontext.c
70 LSRCS+= ${LSRCS.m68k.gen}
71 DPSRCS+= ${LSRCS.m68k.gen}
72 CLEANFILES+= ${LSRCS.m68k.gen}