head	1.25;
access;
symbols
	netbsd-10-2-RELEASE:1.21
	netbsd-9-5-RELEASE:1.21
	netbsd-11-0-RELEASE:1.21
	netbsd-11-0-RC7:1.21
	netbsd-11-0-RC6:1.21
	netbsd-11-0-RC5:1.21
	netbsd-11-0-RC4:1.21
	netbsd-11-0-RC3:1.21
	netbsd-11-0-RC2:1.21
	netbsd-11-0-RC1:1.21
	perseant-exfatfs-base-20250801:1.21
	netbsd-11:1.21.0.30
	netbsd-11-base:1.21
	netbsd-10-1-RELEASE:1.21
	perseant-exfatfs-base-20240630:1.21
	perseant-exfatfs:1.21.0.28
	perseant-exfatfs-base:1.21
	netbsd-8-3-RELEASE:1.21
	netbsd-9-4-RELEASE:1.21
	netbsd-10-0-RELEASE:1.21
	netbsd-10-0-RC6:1.21
	netbsd-10-0-RC5:1.21
	netbsd-10-0-RC4:1.21
	netbsd-10-0-RC3:1.21
	netbsd-10-0-RC2:1.21
	netbsd-10-0-RC1:1.21
	netbsd-10:1.21.0.26
	netbsd-10-base:1.21
	netbsd-9-3-RELEASE:1.21
	cjep_sun2x-base1:1.21
	cjep_sun2x:1.21.0.24
	cjep_sun2x-base:1.21
	cjep_staticlib_x-base1:1.21
	netbsd-9-2-RELEASE:1.21
	cjep_staticlib_x:1.21.0.22
	cjep_staticlib_x-base:1.21
	netbsd-9-1-RELEASE:1.21
	phil-wifi-20200421:1.21
	phil-wifi-20200411:1.21
	is-mlppp:1.21.0.20
	is-mlppp-base:1.21
	phil-wifi-20200406:1.21
	netbsd-8-2-RELEASE:1.21
	netbsd-9-0-RELEASE:1.21
	netbsd-9-0-RC2:1.21
	netbsd-9-0-RC1:1.21
	phil-wifi-20191119:1.21
	netbsd-9:1.21.0.18
	netbsd-9-base:1.21
	phil-wifi-20190609:1.21
	netbsd-8-1-RELEASE:1.21
	netbsd-8-1-RC1:1.21
	pgoyette-compat-merge-20190127:1.21
	pgoyette-compat-20190127:1.21
	pgoyette-compat-20190118:1.21
	pgoyette-compat-1226:1.21
	pgoyette-compat-1126:1.21
	pgoyette-compat-1020:1.21
	pgoyette-compat-0930:1.21
	pgoyette-compat-0906:1.21
	netbsd-7-2-RELEASE:1.19.2.1
	pgoyette-compat-0728:1.21
	netbsd-8-0-RELEASE:1.21
	phil-wifi:1.21.0.16
	phil-wifi-base:1.21
	pgoyette-compat-0625:1.21
	netbsd-8-0-RC2:1.21
	pgoyette-compat-0521:1.21
	pgoyette-compat-0502:1.21
	pgoyette-compat-0422:1.21
	netbsd-8-0-RC1:1.21
	pgoyette-compat-0415:1.21
	pgoyette-compat-0407:1.21
	pgoyette-compat-0330:1.21
	pgoyette-compat-0322:1.21
	pgoyette-compat-0315:1.21
	netbsd-7-1-2-RELEASE:1.19.2.1
	pgoyette-compat:1.21.0.14
	pgoyette-compat-base:1.21
	netbsd-7-1-1-RELEASE:1.19.2.1
	matt-nb8-mediatek:1.21.0.12
	matt-nb8-mediatek-base:1.21
	perseant-stdc-iso10646:1.21.0.10
	perseant-stdc-iso10646-base:1.21
	netbsd-8:1.21.0.8
	netbsd-8-base:1.21
	prg-localcount2-base3:1.21
	prg-localcount2-base2:1.21
	prg-localcount2-base1:1.21
	prg-localcount2:1.21.0.6
	prg-localcount2-base:1.21
	pgoyette-localcount-20170426:1.21
	bouyer-socketcan-base1:1.21
	pgoyette-localcount-20170320:1.21
	netbsd-7-1:1.19.2.1.0.6
	netbsd-7-1-RELEASE:1.19.2.1
	netbsd-7-1-RC2:1.19.2.1
	netbsd-7-nhusb-base-20170116:1.19.2.1
	bouyer-socketcan:1.21.0.4
	bouyer-socketcan-base:1.21
	pgoyette-localcount-20170107:1.21
	netbsd-7-1-RC1:1.19.2.1
	pgoyette-localcount-20161104:1.21
	netbsd-7-0-2-RELEASE:1.19.2.1
	localcount-20160914:1.21
	netbsd-7-nhusb:1.19.2.1.0.4
	netbsd-7-nhusb-base:1.19.2.1
	pgoyette-localcount-20160806:1.21
	pgoyette-localcount-20160726:1.21
	pgoyette-localcount:1.21.0.2
	pgoyette-localcount-base:1.21
	netbsd-7-0-1-RELEASE:1.19.2.1
	netbsd-7-0:1.19.2.1.0.2
	netbsd-7-0-RELEASE:1.19.2.1
	netbsd-7-0-RC3:1.19.2.1
	netbsd-7-0-RC2:1.19.2.1
	netbsd-7-0-RC1:1.19.2.1
	netbsd-5-2-3-RELEASE:1.4
	netbsd-5-1-5-RELEASE:1.4
	netbsd-6-0-6-RELEASE:1.10.10.1
	netbsd-6-1-5-RELEASE:1.10.4.1
	netbsd-7:1.19.0.2
	netbsd-7-base:1.19
	yamt-pagecache-base9:1.17
	yamt-pagecache-tag8:1.10.2.1
	netbsd-6-1-4-RELEASE:1.10.4.1
	netbsd-6-0-5-RELEASE:1.10.10.1
	tls-earlyentropy:1.17.0.2
	tls-earlyentropy-base:1.18
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.17
	riastradh-drm2-base3:1.17
	netbsd-6-1-3-RELEASE:1.10.4.1
	netbsd-6-0-4-RELEASE:1.10.10.1
	netbsd-5-2-2-RELEASE:1.4
	netbsd-5-1-4-RELEASE:1.4
	netbsd-6-1-2-RELEASE:1.10.4.1
	netbsd-6-0-3-RELEASE:1.10.10.1
	netbsd-5-2-1-RELEASE:1.4
	netbsd-5-1-3-RELEASE:1.4
	netbsd-6-1-1-RELEASE:1.10.4.1
	riastradh-drm2-base2:1.15
	riastradh-drm2-base1:1.15
	riastradh-drm2:1.15.0.2
	riastradh-drm2-base:1.15
	netbsd-6-1:1.10.4.1.0.2
	netbsd-6-0-2-RELEASE:1.10.10.1
	netbsd-6-1-RELEASE:1.10.4.1
	netbsd-6-1-RC4:1.10.4.1
	netbsd-6-1-RC3:1.10.4.1
	agc-symver:1.12.0.4
	agc-symver-base:1.12
	netbsd-6-1-RC2:1.10.4.1
	netbsd-6-1-RC1:1.10.4.1
	yamt-pagecache-base8:1.12
	netbsd-5-2:1.4.0.46
	netbsd-6-0-1-RELEASE:1.10.10.1
	yamt-pagecache-base7:1.12
	netbsd-5-2-RELEASE:1.4
	netbsd-5-2-RC1:1.4
	matt-nb6-plus-nbase:1.10
	yamt-pagecache-base6:1.10
	netbsd-6-0:1.10.0.10
	netbsd-6-0-RELEASE:1.10
	netbsd-6-0-RC2:1.10
	tls-maxphys:1.10.0.8
	tls-maxphys-base:1.19
	matt-nb6-plus:1.10.0.6
	matt-nb6-plus-base:1.10
	netbsd-6-0-RC1:1.10
	yamt-pagecache-base5:1.10
	yamt-pagecache-base4:1.10
	netbsd-6:1.10.0.4
	netbsd-6-base:1.10
	netbsd-5-1-2-RELEASE:1.4
	netbsd-5-1-1-RELEASE:1.4
	yamt-pagecache-base3:1.10
	yamt-pagecache-base2:1.10
	yamt-pagecache:1.10.0.2
	yamt-pagecache-base:1.10
	cherry-xenmp:1.7.0.4
	cherry-xenmp-base:1.7
	bouyer-quota2-nbase:1.7
	bouyer-quota2:1.7.0.2
	bouyer-quota2-base:1.7
	matt-mips64-premerge-20101231:1.6
	matt-nb5-mips64-premerge-20101231:1.4
	matt-nb5-pq3:1.4.0.44
	matt-nb5-pq3-base:1.4
	netbsd-5-1:1.4.0.42
	netbsd-5-1-RELEASE:1.4
	netbsd-5-1-RC4:1.4
	matt-nb5-mips64-k15:1.4
	netbsd-5-1-RC3:1.4
	netbsd-5-1-RC2:1.4
	netbsd-5-1-RC1:1.4
	netbsd-5-0-2-RELEASE:1.4
	matt-nb5-mips64-premerge-20091211:1.4
	matt-premerge-20091211:1.6
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.4
	matt-nb4-mips64-k7-u2a-k9b:1.4
	matt-nb5-mips64-u1-k1-k5:1.4
	matt-nb5-mips64:1.4.0.40
	netbsd-5-0-1-RELEASE:1.4
	jym-xensuspend-nbase:1.4
	netbsd-5-0:1.4.0.38
	netbsd-5-0-RELEASE:1.4
	netbsd-5-0-RC4:1.4
	netbsd-5-0-RC3:1.4
	netbsd-5-0-RC2:1.4
	jym-xensuspend:1.4.0.36
	jym-xensuspend-base:1.4
	netbsd-5-0-RC1:1.4
	christos-time_t-nbase:1.4
	christos-time_t:1.4.0.34
	christos-time_t-base:1.4
	netbsd-5:1.4.0.32
	netbsd-5-base:1.4
	matt-mips64-base2:1.4
	matt-mips64:1.4.0.30
	mjf-devfs2:1.4.0.28
	mjf-devfs2-base:1.4
	netbsd-4-0-1-RELEASE:1.4
	wrstuden-revivesa-base-3:1.4
	wrstuden-revivesa-base-2:1.4
	wrstuden-fixsa-newbase:1.4
	wrstuden-revivesa-base-1:1.4
	yamt-pf42-base4:1.4
	yamt-pf42-base3:1.4
	hpcarm-cleanup-nbase:1.4
	yamt-pf42-baseX:1.4
	yamt-pf42-base2:1.4
	wrstuden-revivesa:1.4.0.26
	wrstuden-revivesa-base:1.4
	yamt-pf42:1.4.0.24
	yamt-pf42-base:1.4
	keiichi-mipv6:1.4.0.22
	keiichi-mipv6-base:1.4
	matt-armv6-nbase:1.4
	matt-armv6-prevmlocking:1.4
	wrstuden-fixsa-base-1:1.4
	netbsd-4-0:1.4.0.20
	netbsd-4-0-RELEASE:1.4
	cube-autoconf:1.4.0.18
	cube-autoconf-base:1.4
	netbsd-4-0-RC5:1.4
	netbsd-4-0-RC4:1.4
	netbsd-4-0-RC3:1.4
	netbsd-4-0-RC2:1.4
	netbsd-4-0-RC1:1.4
	matt-armv6:1.4.0.16
	matt-armv6-base:1.4
	matt-mips64-base:1.4
	hpcarm-cleanup:1.4.0.14
	hpcarm-cleanup-base:1.4
	netbsd-3-1-1-RELEASE:1.4
	netbsd-3-0-3-RELEASE:1.4
	wrstuden-fixsa:1.4.0.12
	wrstuden-fixsa-base:1.4
	abandoned-netbsd-4-base:1.4
	abandoned-netbsd-4:1.4.0.6
	netbsd-3-1:1.4.0.8
	netbsd-3-1-RELEASE:1.4
	netbsd-3-0-2-RELEASE:1.4
	netbsd-3-1-RC4:1.4
	netbsd-3-1-RC3:1.4
	netbsd-3-1-RC2:1.4
	netbsd-3-1-RC1:1.4
	netbsd-4:1.4.0.10
	netbsd-4-base:1.4
	netbsd-3-0-1-RELEASE:1.4
	netbsd-3-0:1.4.0.4
	netbsd-3-0-RELEASE:1.4
	netbsd-3-0-RC6:1.4
	netbsd-3-0-RC5:1.4
	netbsd-3-0-RC4:1.4
	netbsd-3-0-RC3:1.4
	netbsd-3-0-RC2:1.4
	netbsd-3-0-RC1:1.4
	netbsd-2-0-3-RELEASE:1.3
	netbsd-2-1:1.3.0.6
	netbsd-2-1-RELEASE:1.3
	netbsd-2-1-RC6:1.3
	netbsd-2-1-RC5:1.3
	netbsd-2-1-RC4:1.3
	netbsd-2-1-RC3:1.3
	netbsd-2-1-RC2:1.3
	netbsd-2-1-RC1:1.3
	netbsd-2-0-2-RELEASE:1.3
	netbsd-3:1.4.0.2
	netbsd-3-base:1.4
	netbsd-2-0-1-RELEASE:1.3
	netbsd-2:1.3.0.4
	netbsd-2-base:1.3
	netbsd-2-0-RELEASE:1.3
	netbsd-2-0-RC5:1.3
	netbsd-2-0-RC4:1.3
	netbsd-2-0-RC3:1.3
	netbsd-2-0-RC2:1.3
	netbsd-2-0-RC1:1.3
	netbsd-2-0:1.3.0.2
	netbsd-2-0-base:1.3
	netbsd-1-6-PATCH002-RELEASE:1.2
	netbsd-1-6-PATCH002:1.2
	netbsd-1-6-PATCH002-RC4:1.2
	netbsd-1-6-PATCH002-RC3:1.2
	netbsd-1-6-PATCH002-RC2:1.2
	netbsd-1-6-PATCH002-RC1:1.2
	netbsd-1-6-PATCH001:1.2
	netbsd-1-6-PATCH001-RELEASE:1.2
	netbsd-1-6-PATCH001-RC3:1.2
	netbsd-1-6-PATCH001-RC2:1.2
	netbsd-1-6-PATCH001-RC1:1.2
	nathanw_sa_end:1.1.6.1
	nathanw_sa_before_merge:1.2
	fvdl_fs64_base:1.2
	nathanw_sa_base:1.2
	netbsd-1-6-RELEASE:1.2
	netbsd-1-6-RC3:1.2
	netbsd-1-6-RC2:1.2
	netbsd-1-6-RC1:1.2
	netbsd-1-6:1.2.0.2
	netbsd-1-6-base:1.2
	netbsd-1-5-PATCH003:1.1
	netbsd-1-5-PATCH002:1.1
	netbsd-1-5-PATCH001:1.1
	nathanw_sa:1.1.0.6
	netbsd-1-5-RELEASE:1.1
	netbsd-1-5-BETA2:1.1
	netbsd-1-5-BETA:1.1
	netbsd-1-5-ALPHA2:1.1
	minoura-xpg4dl:1.1.0.4
	netbsd-1-5:1.1.0.2
	netbsd-1-5-base:1.1;
locks; strict;
comment	@# @;


1.25
date	2026.10.05.04.43.56;	author kre;	state Exp;
branches;
next	1.24;
commitid	aSpJAhT6iKPs9fYG;

1.24
date	2026.10.04.03.28.45;	author mrg;	state Exp;
branches;
next	1.23;
commitid	iCZ96NJyTfeaO6YG;

1.23
date	2025.10.04.21.03.16;	author nat;	state Exp;
branches;
next	1.22;
commitid	reQdufucA1YvnidG;

1.22
date	2025.09.10.23.07.39;	author nat;	state Exp;
branches;
next	1.21;
commitid	YV26t9el8oopPdaG;

1.21
date	2016.03.13.01.06.51;	author mrg;	state Exp;
branches;
next	1.20;
commitid	Az3KlG4ZDkOy0qYy;

1.20
date	2015.04.08.13.16.37;	author martin;	state Exp;
branches;
next	1.19;
commitid	NOwJFJiadnUzYMgy;

1.19
date	2014.08.10.23.39.08;	author matt;	state Exp;
branches
	1.19.2.1;
next	1.18;
commitid	IYetTcutJpmuaSLx;

1.18
date	2014.06.14.20.49.37;	author mrg;	state Exp;
branches;
next	1.17;
commitid	ZgC9LkzhaXWI3xEx;

1.17
date	2014.01.30.19.11.54;	author matt;	state Exp;
branches
	1.17.2.1;
next	1.16;
commitid	dtWdI73AlArrRanx;

1.16
date	2013.12.19.22.20.01;	author joerg;	state Exp;
branches;
next	1.15;
commitid	zzHTbQHxNrRFfNhx;

1.15
date	2013.04.30.01.42.04;	author matt;	state Exp;
branches;
next	1.14;

1.14
date	2013.04.16.12.26.28;	author matt;	state Exp;
branches;
next	1.13;

1.13
date	2013.04.16.10.54.53;	author matt;	state Exp;
branches;
next	1.12;

1.12
date	2012.11.16.12.38.09;	author he;	state Exp;
branches;
next	1.11;

1.11
date	2012.11.14.03.47.30;	author msaitoh;	state Exp;
branches;
next	1.10;

1.10
date	2011.07.04.02.53.15;	author mrg;	state Exp;
branches
	1.10.2.1
	1.10.4.1
	1.10.8.1
	1.10.10.1;
next	1.9;

1.9
date	2011.07.03.15.26.58;	author mrg;	state Exp;
branches;
next	1.8;

1.8
date	2011.07.01.01.25.52;	author mrg;	state Exp;
branches;
next	1.7;

1.7
date	2011.01.17.10.08.35;	author matt;	state Exp;
branches;
next	1.6;

1.6
date	2009.12.06.11.16.26;	author uebayasi;	state Exp;
branches;
next	1.5;

1.5
date	2009.12.06.05.34.42;	author uebayasi;	state Exp;
branches;
next	1.4;

1.4
date	2004.09.26.21.13.27;	author jmmv;	state Exp;
branches
	1.4.40.1;
next	1.3;

1.3
date	2003.05.06.08.58.20;	author rearnsha;	state Exp;
branches;
next	1.2;

1.2
date	2002.05.21.23.51.05;	author bjh21;	state Exp;
branches;
next	1.1;

1.1
date	2000.06.06.08.15.02;	author bjh21;	state Exp;
branches
	1.1.4.1
	1.1.6.1;
next	;

1.19.2.1
date	2015.04.10.20.22.42;	author snj;	state Exp;
branches;
next	;
commitid	a50VaCyMclyPg5hy;

1.17.2.1
date	2014.08.10.06.51.51;	author tls;	state Exp;
branches;
next	;
commitid	lXZyR8D6WjIWAMLx;

1.10.2.1
date	2013.01.16.05.32.24;	author yamt;	state Exp;
branches;
next	1.10.2.2;

1.10.2.2
date	2014.05.22.11.36.53;	author yamt;	state Exp;
branches;
next	;
commitid	HJV5p3BoaVY5KwBx;

1.10.4.1
date	2012.11.24.19.02.09;	author jdc;	state Exp;
branches;
next	;

1.10.8.1
date	2012.11.20.03.00.42;	author tls;	state Exp;
branches;
next	1.10.8.2;

1.10.8.2
date	2013.06.23.06.21.06;	author tls;	state Exp;
branches;
next	1.10.8.3;
commitid	NYFFXRB0xCbrHHUw;

1.10.8.3
date	2014.08.20.00.02.15;	author tls;	state Exp;
branches;
next	;
commitid	jTnpym9Qu0o4R1Nx;

1.10.10.1
date	2012.11.24.19.02.14;	author jdc;	state Exp;
branches;
next	;

1.4.40.1
date	2011.04.29.07.48.35;	author matt;	state Exp;
branches;
next	;

1.1.4.1
date	2000.06.06.08.15.02;	author minoura;	state dead;
branches;
next	1.1.4.2;

1.1.4.2
date	2000.06.23.16.17.54;	author minoura;	state Exp;
branches;
next	;

1.1.6.1
date	2002.06.21.18.18.18;	author nathanw;	state Exp;
branches;
next	;


desc
@@


1.25
log
@End libc Makefile .${PARSEDIR} abuse

It is pointless assigning ${.PARSEDIR) to a variable using '='
as when that variable is later expanded, ${.PARSEDIR} will not
have a value, and we end up with things like:

	.... -I. -I/home/source/ab/HEAD/src/lib/libc/arch/mips/softfloat
	-I -DSOFTFLOAT_FOR_GCC
	-I/home/source/ab/HEAD/src/lib/libc/arch/mips/softfloat
	-I -DSOFTFLOAT_FOR_GCC
	-DSOFTFLOAT -I/home/source/ab/HEAD/src/sys ....

That exxtracted from a failing command from the autobuilds (which I
first saw on my local system attempting a mips64eb build).   That is
all part of one (long) command line from which I extracted that piece
(and then manually line wrapped it for this log message).

Note the 2nd and 4 lines ... those are meant to have ${.PARSEDIR}
between the -I and -D (I doubt there is a "./-DSOFTFLOAT_FOR_GCC"
directory to include anything from).   Or rather, they do, but
it is expanding to nothing when the command is run (no makefile is
then being parsed).

So, invent a bunch of new variables to be assigned the value of
${.PARSEDIR} using := so the assignment happens while the Makefile
is being parsed, and then use the new variables in other variable
assignments which had been using ${.PARSEDIR}

Someone should check, fix, and clean up all this ... the world has
descended to a truly perilously dangerous place when I start hacking
on Makefiles.
@
text
@#	$NetBSD: Makefile.inc,v 1.24 2026/10/04 03:28:45 mrg Exp $

SOFTFLOAT_BITS?=64
.PATH:		${ARCHDIR}/softfloat \
		${.PARSEDIR}/bits${SOFTFLOAT_BITS} ${.PARSEDIR}

SoftFloatPD:=${.PARSEDIR}

CPPFLAGS+=	-I${ARCHDIR}/softfloat -I${SoftFloatPD}
CPPFLAGS+=	-DSOFTFLOAT_FOR_GCC

SRCS.softfloat= softfloat.c

.include <softfloat/Makefile.fenv.inc>

.if !empty(LIBC_MACHINE_ARCH:Mearm*)
SRCS.softfloat+=__aeabi_dcmpeq.c __aeabi_fcmpeq.c
SRCS.softfloat+=__aeabi_dcmpge.c __aeabi_fcmpge.c
SRCS.softfloat+=__aeabi_dcmpgt.c __aeabi_fcmpgt.c
SRCS.softfloat+=__aeabi_dcmple.c __aeabi_fcmple.c
SRCS.softfloat+=__aeabi_dcmplt.c __aeabi_fcmplt.c
SRCS.softfloat+=__aeabi_dcmpun.c __aeabi_fcmpun.c
.else
SRCS.softfloat+=eqsf2.c nesf2.c gtsf2.c gesf2.c ltsf2.c lesf2.c negsf2.c \
		eqdf2.c nedf2.c gtdf2.c gedf2.c ltdf2.c ledf2.c negdf2.c \
		eqtf2.c netf2.c gttf2.c getf2.c lttf2.c letf2.c negtf2.c \
		nexf2.c gtxf2.c gexf2.c negxf2.c \
		unordsf2.c unorddf2.c unordtf2.c
.endif

SRCS+=		flt_rounds.c
SRCS+=		${SRCS.softfloat}

# XXX
.if defined(HAVE_GCC)
# See doc/HACKS for more information.
. if (${LIBC_MACHINE_CPU} == "mips" || \
     ${LIBC_MACHINE_CPU} == "sh3")
COPTS.softfloat.c+=	-Wno-enum-compare
. endif
.endif
@


1.24
log
@Prefer using ${.PARSEDIR} over assuming that ${.CURDIR} is src/lib/libc.

Mostly this changes ${.CURDIR} refs into either ${.PARSEDIR}, ${LIBCDIR},
or ${NETBSDSRCDIR} refs.

Set LIBCDIR earlier to ensure it's available always.

This will be used to build a smaller libc (eg, with no assert strings.)

Tested builds on atari, x86-64, arm64, and vax.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.23 2025/10/04 21:03:16 nat Exp $
d7 3
a9 1
CPPFLAGS+=	-I${ARCHDIR}/softfloat -I${.PARSEDIR}
@


1.23
log
@Add generic flt_rounds for softfloat.

Note the m68k definitions are reversed as found via test results.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.22 2025/09/10 23:07:39 nat Exp $
d5 1
a5 1
		${.CURDIR}/softfloat/bits${SOFTFLOAT_BITS} ${.CURDIR}/softfloat
d7 1
a7 1
CPPFLAGS+=	-I${ARCHDIR}/softfloat -I${.CURDIR}/softfloat
@


1.22
log
@Switch over m68k soffloat build to libc/softfloat.

m68k would previously use softfloat functions contained in libgcc_s.

This change aligns m68k with other platforms built with softfloat.

It is still possible to build the gcc_s softfloat impementation by setting
MKSOFFTFLOAT=yes MKLIBCSOFTFLOAT=no

Addresses PR/59393.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.21 2016/03/13 01:06:51 mrg Exp $
d29 1
@


1.21
log
@remove some more GCC 4.5 code.  make GCC 5.3 be HAVE_GCC=53, so that,
for example, HAVE_GCC >= 48 works properly.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.20 2015/04/08 13:16:37 martin Exp $
d12 1
a12 2
SRCS.softfloat+=fpgetround.c fpsetround.c fpgetmask.c fpsetmask.c \
		fpgetsticky.c fpsetsticky.c
@


1.20
log
@Restrict the arm compiler optimization hack to gcc 4.5
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.19 2014/08/10 23:39:08 matt Exp $
a33 1
. if (${LIBC_MACHINE_CPU} == "arm") && (${HAVE_GCC} == "45")
d35 1
a35 3
COPTS.softfloat.c+=	-Wno-enum-compare
COPTS.softfloat.c+=	${${ACTIVE_CXX} == "gcc":? -fno-tree-vrp :}
.elif (${LIBC_MACHINE_CPU} == "mips" || \
@


1.19
log
@MKCOMPAT fixes for when compat MACHINE_CPU != normal MACHINE_CPU
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.18 2014/06/14 20:49:37 mrg Exp $
d34 1
a34 1
. if (${LIBC_MACHINE_CPU} == "arm")
@


1.19.2.1
log
@Pull up following revision(s) (requested by martin in ticket #670):
	lib/libc/softfloat/Makefile.inc: revision 1.20
Restrict the arm compiler optimization hack to gcc 4.5
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.19 2014/08/10 23:39:08 matt Exp $
d34 1
a34 1
. if (${LIBC_MACHINE_CPU} == "arm") && (${HAVE_GCC} == "45")
@


1.18
log
@remove remaining makefile support for GCC < 45 that i found.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.17 2014/01/30 19:11:54 matt Exp $
d34 1
a34 1
. if (${MACHINE_CPU} == "arm")
d38 2
a39 2
.elif (${MACHINE_CPU} == "mips" || \
     ${MACHINE_CPU} == "sh3")
@


1.17
log
@Add unordtf2.c
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.16 2013/12/19 22:20:01 joerg Exp $
d33 2
a34 2
.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45
.if (${MACHINE_CPU} == "arm")
d41 1
a41 1
.endif
@


1.17.2.1
log
@Rebase.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.18 2014/06/14 20:49:37 mrg Exp $
d33 2
a34 2
.if defined(HAVE_GCC)
. if (${MACHINE_CPU} == "arm")
d41 1
a41 1
. endif
@


1.16
log
@Only apply -fno-tree-vrp for GCC.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.15 2013/04/30 01:42:04 matt Exp $
d26 2
a27 1
		nexf2.c gtxf2.c gexf2.c negxf2.c unordsf2.c unorddf2.c
@


1.15
log
@Match against LIBC_MACHINE_ARCH for MKCOMPAT
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.14 2013/04/16 12:26:28 matt Exp $
d35 2
a36 1
COPTS.softfloat.c+=	-Wno-enum-compare -fno-tree-vrp
@


1.14
log
@Use MACHINE_ARCH, not MACHINE
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.13 2013/04/16 10:54:53 matt Exp $
d15 1
a15 1
.if ${MACHINE_ARCH:Mearm*} != ""
@


1.13
log
@ARM EABI needs different floating point comparision functions.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.12 2012/11/16 12:38:09 he Exp $
d15 1
a15 1
.if ${MACHINE:Mearm*} != ""
@


1.12
log
@Fix make syntax problem by putting the condition on the same line as .elif.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.11 2012/11/14 03:47:30 msaitoh Exp $
d15 8
d27 1
@


1.11
log
@For arm, add -fno-tree-vrp to COPTS when compiling softfloat.c.
Without -fno-tree-vrp, -INF + -INF returns 0 by adddf3.
Fixes PR#46953.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.10 2011/07/04 02:53:15 mrg Exp $
d27 1
a27 2
.elif
    (${MACHINE_CPU} == "mips" || \
@


1.10
log
@sh3 also needs -Wno-enum-compare here.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.9 2011/07/03 15:26:58 mrg Exp $
d23 6
a28 3
.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45 && \
    (${MACHINE_CPU} == "arm" || \
     ${MACHINE_CPU} == "mips" || \
d32 1
@


1.10.2.1
log
@sync with (a bit old) head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.10 2011/07/04 02:53:15 mrg Exp $
d23 3
a25 5
.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45
.if (${MACHINE_CPU} == "arm")
# See doc/HACKS for more information.
COPTS.softfloat.c+=	-Wno-enum-compare -fno-tree-vrp
.elif (${MACHINE_CPU} == "mips" || \
a28 1
.endif
@


1.10.2.2
log
@sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.10.2.1 2013/01/16 05:32:24 yamt Exp $
a14 8
.if !empty(LIBC_MACHINE_ARCH:Mearm*)
SRCS.softfloat+=__aeabi_dcmpeq.c __aeabi_fcmpeq.c
SRCS.softfloat+=__aeabi_dcmpge.c __aeabi_fcmpge.c
SRCS.softfloat+=__aeabi_dcmpgt.c __aeabi_fcmpgt.c
SRCS.softfloat+=__aeabi_dcmple.c __aeabi_fcmple.c
SRCS.softfloat+=__aeabi_dcmplt.c __aeabi_fcmplt.c
SRCS.softfloat+=__aeabi_dcmpun.c __aeabi_fcmpun.c
.else
d18 1
a18 3
		nexf2.c gtxf2.c gexf2.c negxf2.c \
		unordsf2.c unorddf2.c unordtf2.c
.endif
d26 1
a26 2
COPTS.softfloat.c+=	-Wno-enum-compare
COPTS.softfloat.c+=	${${ACTIVE_CXX} == "gcc":? -fno-tree-vrp :}
@


1.10.10.1
log
@Pull up revisions:
  src/lib/libc/softfloat/Makefile.inc         1.11-1.12 via patch
  src/doc/HACKS                               1.124 via patch
(requested by msaitoh in ticket #703).

For arm, add -fno-tree-vrp to COPTS when compiling softfloat.c.
Without -fno-tree-vrp, -INF + -INF returns 0 by adddf3.
Fixes PR#46953.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.10 2011/07/04 02:53:15 mrg Exp $
d23 3
a25 5
.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45
.if (${MACHINE_CPU} == "arm")
# See doc/HACKS for more information.
COPTS.softfloat.c+=	-Wno-enum-compare -fno-tree-vrp
.elif (${MACHINE_CPU} == "mips" || \
a28 1
.endif
@


1.10.4.1
log
@Pull up revisions:
  src/lib/libc/softfloat/Makefile.inc         1.11-1.12 via patch
  src/doc/HACKS                               1.124 via patch
(requested by msaitoh in ticket #703).

For arm, add -fno-tree-vrp to COPTS when compiling softfloat.c.
Without -fno-tree-vrp, -INF + -INF returns 0 by adddf3.
Fixes PR#46953.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.10 2011/07/04 02:53:15 mrg Exp $
d23 3
a25 5
.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45
.if (${MACHINE_CPU} == "arm")
# See doc/HACKS for more information.
COPTS.softfloat.c+=	-Wno-enum-compare -fno-tree-vrp
.elif (${MACHINE_CPU} == "mips" || \
a28 1
.endif
@


1.10.8.1
log
@Resync to 2012-11-19 00:00:00 UTC
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.12 2012/11/16 12:38:09 he Exp $
d23 3
a25 5
.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45
.if (${MACHINE_CPU} == "arm")
# See doc/HACKS for more information.
COPTS.softfloat.c+=	-Wno-enum-compare -fno-tree-vrp
.elif (${MACHINE_CPU} == "mips" || \
a28 1
.endif
@


1.10.8.2
log
@resync from head
@
text
@d1 1
a1 1
#	$NetBSD$
a14 8
.if !empty(LIBC_MACHINE_ARCH:Mearm*)
SRCS.softfloat+=__aeabi_dcmpeq.c __aeabi_fcmpeq.c
SRCS.softfloat+=__aeabi_dcmpge.c __aeabi_fcmpge.c
SRCS.softfloat+=__aeabi_dcmpgt.c __aeabi_fcmpgt.c
SRCS.softfloat+=__aeabi_dcmple.c __aeabi_fcmple.c
SRCS.softfloat+=__aeabi_dcmplt.c __aeabi_fcmplt.c
SRCS.softfloat+=__aeabi_dcmpun.c __aeabi_fcmpun.c
.else
a18 1
.endif
@


1.10.8.3
log
@Rebase to HEAD as of a few days ago.
@
text
@d26 1
a26 2
		nexf2.c gtxf2.c gexf2.c negxf2.c \
		unordsf2.c unorddf2.c unordtf2.c
d32 2
a33 2
.if defined(HAVE_GCC)
. if (${LIBC_MACHINE_CPU} == "arm")
d35 3
d39 1
a39 5
COPTS.softfloat.c+=	${${ACTIVE_CXX} == "gcc":? -fno-tree-vrp :}
.elif (${LIBC_MACHINE_CPU} == "mips" || \
     ${LIBC_MACHINE_CPU} == "sh3")
COPTS.softfloat.c+=	-Wno-enum-compare
. endif
@


1.9
log
@mips wants some -Wno-enum-compare here, too.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.8 2011/07/01 01:25:52 mrg Exp $
d25 2
a26 1
     ${MACHINE_CPU} == "mips")
@


1.8
log
@XXX: apply -Wno-error/friends to a few files
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.7 2011/01/17 10:08:35 matt Exp $
d24 2
a25 1
    (${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "armeb")
@


1.7
log
@Add long double functions for eq,ne,gt,le,ge,lt,neg ops.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.6 2009/12/06 11:16:26 uebayasi Exp $
d21 6
@


1.6
log
@Fix typo in previous.
@
text
@d1 1
a1 1
#	$NetBSD$
d17 1
@


1.5
log
@Assign quad / softfloat specific ${SRCS} to ${SRCS.quad} / ${SRCS.softfloat}
then append them to ${SRCS}.  Those will be used to generate quad / softfloat
symbol lists.
@
text
@d12 1
a12 1
SRCS.softfloat+=fpsetround.c fpgetmask.c fpsetmask.c \
d15 1
a15 1
SRCS.softfloat+=nesf2.c gtsf2.c gesf2.c ltsf2.c lesf2.c negsf2.c \
@


1.4
log
@Add support to build the mac68k port with soft-float enabled (i.e., setting
MKSOFTFLOAT=yes).  The main purpose of this feature is to let NetBSD work
in machines with the 68040LC chip (those that have the FPU bug).

All the work has been done by Bruce O'Neel <edoneel AT sdf.lonestar.org>,
with some very minor changes by me; the patches were being posted to the
port-mac68k mailing list.  It has been tested for a long time by several
users, including me.

I have just verified that regular releases, as well as soft-float ones,
continue to build.

There have been no objections to this patch since I asked for them in July
in the port-mac68k list.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.3 2003/05/06 08:58:20 rearnsha Exp $
d10 1
a10 1
SRCS+=		softfloat.c
d12 1
a12 1
SRCS+=		fpgetround.c fpsetround.c fpgetmask.c fpsetmask.c \
d15 1
a15 1
SRCS+=		eqsf2.c nesf2.c gtsf2.c gesf2.c ltsf2.c lesf2.c negsf2.c \
d18 2
@


1.4.40.1
log
@Pull in true (128-bit) long double support for MIPS from -current.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.4 2004/09/26 21:13:27 jmmv Exp $
d10 1
a10 1
SRCS.softfloat+=softfloat.c
d12 1
a12 1
SRCS.softfloat+=fpgetround.c fpsetround.c fpgetmask.c fpsetmask.c \
d15 1
a15 1
SRCS.softfloat+=eqsf2.c nesf2.c gtsf2.c gesf2.c ltsf2.c lesf2.c negsf2.c \
a16 1
		eqtf2.c netf2.c gttf2.c getf2.c lttf2.c letf2.c negtf2.c \
a17 2

SRCS+=		${SRCS.softfloat}
@


1.3
log
@GCC-3 requires a libcall to support testing for unordered.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.2 2002/05/21 23:51:05 bjh21 Exp $
d17 1
a17 1
		unordsf2.c unorddf2.c
@


1.2
log
@Import the 32-bit version of SoftFloat 2a and separate it and the 64-bit
version into different directories.  Which version a given port uses is
controlled by the SOFTFLOAT_BITS make variable.  This is set to 64 (which
uses the same code we had before) by default.  32-bit platforms that don't
need extended precision support might get better performance by using 32.

Set the ARM port to use the 32-bit version of SoftFloat, since this is more
than a factor of two faster than the 64-bit version.  This should get the
floating-point performance back to what it was in 1.5.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.1 2000/06/06 08:15:02 bjh21 Exp $
d16 2
a17 1
		eqdf2.c nedf2.c gtdf2.c gedf2.c ltdf2.c ledf2.c negdf2.c
@


1.1
log
@Initial commit of SoftFloat 2a import.  This should provide a sensible
mostly-MI floating-point implementation for use by gcc -msoft-float.
It's currently only used by arm26, but should be usable by other ports
without too much hacking, assuming doubles and u_int64_ts are passed and
returned the same way, and FP formats are IEEEish.
@
text
@d1 1
a1 1
#	$NetBSD$
d3 3
a5 1
.PATH:		${ARCHDIR}/softfloat ${.CURDIR}/softfloat
@


1.1.4.1
log
@file Makefile.inc was added on branch minoura-xpg4dl on 2000-06-23 16:17:54 +0000
@
text
@d1 14
@


1.1.4.2
log
@Sync w/ netbsd-1-5-base.
@
text
@a0 14
#	$NetBSD: Makefile.inc,v 1.1.4.1 2000/06/23 16:17:54 minoura Exp $

.PATH:		${ARCHDIR}/softfloat ${.CURDIR}/softfloat

CPPFLAGS+=	-I${ARCHDIR}/softfloat -I${.CURDIR}/softfloat
CPPFLAGS+=	-DSOFTFLOAT_FOR_GCC

SRCS+=		softfloat.c

SRCS+=		fpgetround.c fpsetround.c fpgetmask.c fpsetmask.c \
		fpgetsticky.c fpsetsticky.c

SRCS+=		eqsf2.c nesf2.c gtsf2.c gesf2.c ltsf2.c lesf2.c negsf2.c \
		eqdf2.c nedf2.c gtdf2.c gedf2.c ltdf2.c ledf2.c negdf2.c
@


1.1.6.1
log
@Catch up to -current.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.1 2000/06/06 08:15:02 bjh21 Exp $
d3 1
a3 3
SOFTFLOAT_BITS?=64
.PATH:		${ARCHDIR}/softfloat \
		${.CURDIR}/softfloat/bits${SOFTFLOAT_BITS} ${.CURDIR}/softfloat
@
