summaryrefslogtreecommitdiffstats
path: root/share/mk/bsd.stand.mk
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2015-08-27 23:46:42 +0000
committerimp <imp@FreeBSD.org>2015-08-27 23:46:42 +0000
commitd1be0bf24ec398e1f5f1634ccfb0a2e102caf3dc (patch)
tree4b5ef87fae8f2c0ca7f1556f0b1c771c81437d7b /share/mk/bsd.stand.mk
parent05c9f26dff59dbf912171e997071d42c9f2c866e (diff)
downloadFreeBSD-src-d1be0bf24ec398e1f5f1634ccfb0a2e102caf3dc.zip
FreeBSD-src-d1be0bf24ec398e1f5f1634ccfb0a2e102caf3dc.tar.gz
Use CFLAGS_NO_SIMD in preference to varying lists of -mno-xxxx flags.
Go ahead and defined -D_STANDALONE for all targets (only strictly needed for some architecture, but harmless on those it isn't required for). Also add -msoft-float to all architectures uniformly rather that higgley piggley like it is today. Differential Revision: https://reviews.freebsd.org/D3496
Diffstat (limited to 'share/mk/bsd.stand.mk')
-rw-r--r--share/mk/bsd.stand.mk24
1 files changed, 24 insertions, 0 deletions
diff --git a/share/mk/bsd.stand.mk b/share/mk/bsd.stand.mk
new file mode 100644
index 0000000..965171b
--- /dev/null
+++ b/share/mk/bsd.stand.mk
@@ -0,0 +1,24 @@
+# $FreeBSD$
+#
+# Common definitons for programs building in the stand-alone environment
+# and/or using libstand.
+#
+
+CFLAGS+= -ffreestanding -Wformat
+CFLAGS+= ${CFLAGS_NO_SIMD} -msoft-float -D_STANDALONE
+
+.if ${MACHINE_CPUARCH} == "i386"
+CFLAGS.gcc+= -mpreferred-stack-boundary=2
+.endif
+.if ${MACHINE_CPUARCH} == "amd64"
+CFLAGS+= -fPIC -mno-red-zone
+.endif
+.if ${MACHINE} == "pc98"
+CFLAGS+= -Os
+.endif
+.if ${MACHINE_CPUARCH} == "aarch64"
+CFLAGS+= -mgeneral-regs-only
+.endif
+.if ${MACHINE_CPUARCH} == "mips"
+CFLAGS+= -G0 -fno-pic -mno-abicalls
+.endif
OpenPOWER on IntegriCloud