summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrpaulo <rpaulo@FreeBSD.org>2012-12-21 05:22:14 +0000
committerrpaulo <rpaulo@FreeBSD.org>2012-12-21 05:22:14 +0000
commitef0b33ada2623351a3f5b05880cb18ac0d729d3a (patch)
tree23b409b00c236024b1da38a15d3b82a18c9dc020
parent13949c50fa4ff569fa99e6b92485032c35a90594 (diff)
downloadFreeBSD-src-ef0b33ada2623351a3f5b05880cb18ac0d729d3a.zip
FreeBSD-src-ef0b33ada2623351a3f5b05880cb18ac0d729d3a.tar.gz
Build a 64 bit version of the FICL library. This is need for a 64 bit
EFI bootloader (amd64 only for now). This is not yet connected to the build.
-rw-r--r--sys/boot/ficl/Makefile21
-rw-r--r--sys/boot/ficl64/Makefile8
2 files changed, 23 insertions, 6 deletions
diff --git a/sys/boot/ficl/Makefile b/sys/boot/ficl/Makefile
index 971faa7..77f4a8f 100644
--- a/sys/boot/ficl/Makefile
+++ b/sys/boot/ficl/Makefile
@@ -1,6 +1,13 @@
# $FreeBSD$
#
-.PATH: ${.CURDIR}/${MACHINE_CPUARCH:S/amd64/i386/}
+
+FICLDIR?= ${.CURDIR}
+
+.if !defined(FICL64)
+.PATH: ${FICLDIR}/${MACHINE_CPUARCH:S/amd64/i386/}
+.else
+.PATH: ${FICLDIR}/${MACHINE_CPUARCH}
+.endif
BASE_SRCS= dict.c ficl.c fileaccess.c float.c loader.c math64.c \
prefix.c search.c stack.c tools.c vm.c words.c
@@ -8,8 +15,10 @@ SRCS= ${BASE_SRCS} sysdep.c softcore.c
CLEANFILES= softcore.c testmain testmain.o
CFLAGS+= -ffreestanding
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+.if !defined(FICL64)
CFLAGS+= -march=i386
CFLAGS+= -mpreferred-stack-boundary=2
+.endif
CFLAGS+= -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
.endif
.if ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "arm"
@@ -33,13 +42,13 @@ INTERNALLIB=
.endif
# Standard softwords
-.PATH: ${.CURDIR}/softwords
+.PATH: ${FICLDIR}/softwords
SOFTWORDS= softcore.fr jhlocal.fr marker.fr freebsd.fr ficllocal.fr \
ifbrack.fr
# Optional OO extension softwords
#SOFTWORDS+= oo.fr classes.fr
-.if ${MACHINE_CPUARCH} == "amd64"
+.if ${MACHINE_CPUARCH} == "amd64" && !defined(FICL64)
CFLAGS+= -m32 -I.
.endif
@@ -47,11 +56,11 @@ CFLAGS+= -m32 -I.
CFLAGS+= -m32 -mcpu=powerpc -I.
.endif
-CFLAGS+= -I${.CURDIR} -I${.CURDIR}/${MACHINE_CPUARCH:S/amd64/i386/} \
- -I${.CURDIR}/../common
+CFLAGS+= -I${FICLDIR} -I${FICLDIR}/${MACHINE_CPUARCH:S/amd64/i386/} \
+ -I${FICLDIR}/../common
softcore.c: ${SOFTWORDS} softcore.awk
- (cd ${.CURDIR}/softwords; cat ${SOFTWORDS} \
+ (cd ${FICLDIR}/softwords; cat ${SOFTWORDS} \
| awk -f softcore.awk -v datestamp="`LC_ALL=C date`") > ${.TARGET}
.if ${MACHINE_CPUARCH} == "amd64"
diff --git a/sys/boot/ficl64/Makefile b/sys/boot/ficl64/Makefile
new file mode 100644
index 0000000..4c6777b
--- /dev/null
+++ b/sys/boot/ficl64/Makefile
@@ -0,0 +1,8 @@
+# $FreeBSD$
+
+FICL64=
+FICLDIR= ${.CURDIR}/../ficl
+
+.PATH: ${FICLDIR}
+
+.include "${FICLDIR}/Makefile"
OpenPOWER on IntegriCloud