1 # $NetBSD: Makefile.inc,v 1.31 2011/11/22 15:25:28 joerg Exp $
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
29 CPPFLAGS._lwp.c += -D_LIBC_SOURCE
31 # 68000-based machines build with a libgcc that includes
32 # much of the (soft)float and integer support that would
33 # otherwise be compiled here.
34 .if (${MACHINE_ARCH} == "m68000" || ${MKSOFTFLOAT} == "yes")
35 SRCS+= modf_ieee754.c # generic ieee754 version
36 SRCS+= flt_rounds_softfloat.S
37 .if ${MKSOFTFLOAT} != "yes"
42 SRCS+= flt_rounds.S fpgetmask.S fpgetround.S fpgetsticky.S fpsetmask.S \
43 fpsetround.S fpsetsticky.S
44 SRCS+= adddf3.S addsf3.S cmpdf2.S cmpsf2.S divdf3.S \
45 divsf3.S divsi3.S extendsfdf2.S fixdfsi.S fixunsdfsi.S \
46 floatsidf.S modsi3.S muldf3.S mulsf3.S mulsi3.S \
47 subdf3.S subsf3.S truncdfsf2.S udivsi3.S \
51 SRCS+= setjmp.S longjmp.c
55 SRCS+= makecontext.c resumecontext.S swapcontext.S
58 SRCS+= ldexp_ieee754.c # generic ieee754 version
60 SRCS+= ldexp_ieee754.c # generic ieee754 version
62 SRCS+= ldexp_ieee754.c # generic ieee754 version
63 .elif ${MACHINE_ARCH} == "m68000"
64 SRCS+= ldexp_ieee754.c # generic ieee754 version
69 LSRCS.m68k.gen= Lint_bswap16.c Lint_bswap32.c Lint_bswap64.c \
70 Lint_resumecontext.c Lint_swapcontext.c
71 LSRCS+= ${LSRCS.m68k.gen}
72 DPSRCS+= ${LSRCS.m68k.gen}
73 CLEANFILES+= ${LSRCS.m68k.gen}