diff --git a/sys/boot/ficl/Makefile b/sys/boot/ficl/Makefile index 971faa73d163..77f4a8fa2e52 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 000000000000..4c6777bb1018 --- /dev/null +++ b/sys/boot/ficl64/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +FICL64= +FICLDIR= ${.CURDIR}/../ficl + +.PATH: ${FICLDIR} + +.include "${FICLDIR}/Makefile"