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.
This commit is contained in:
rpaulo 2012-12-21 05:22:14 +00:00
parent 13949c50fa
commit ef0b33ada2
2 changed files with 23 additions and 6 deletions

View File

@ -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"

8
sys/boot/ficl64/Makefile Normal file
View File

@ -0,0 +1,8 @@
# $FreeBSD$
FICL64=
FICLDIR= ${.CURDIR}/../ficl
.PATH: ${FICLDIR}
.include "${FICLDIR}/Makefile"