1223695Sdfr# $FreeBSD: releng/10.2/sys/boot/userboot/ficl/Makefile 260096 2013-12-30 20:15:46Z dim $
2223695Sdfr#
3223695Sdfr.include <bsd.own.mk>
4223695SdfrMK_SSP=		no
5223695Sdfr
6223695Sdfr.PATH: ${.CURDIR}/../../ficl
7223695Sdfr.PATH: ${.CURDIR}/../../ficl/${MACHINE_CPUARCH}
8223695SdfrBASE_SRCS=	dict.c ficl.c fileaccess.c float.c loader.c math64.c \
9223695Sdfr		prefix.c search.c stack.c tools.c vm.c words.c
10223695Sdfr
11223695SdfrSRCS=		${BASE_SRCS} sysdep.c softcore.c
12223695SdfrCLEANFILES=	softcore.c testmain testmain.o
13223695SdfrCFLAGS+=	-ffreestanding -fPIC
14223695Sdfr.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
15241785Savg#CFLAGS+=	-march=i386
16223695SdfrCFLAGS+=	-mno-mmx -mno-3dnow -mno-sse -mno-sse2
17223695Sdfr.endif
18223695Sdfr.if ${MACHINE_CPUARCH} == "i386"
19260096SdimCFLAGS.gcc+=	-mpreferred-stack-boundary=2
20223695SdfrCFLAGS+=	-mno-sse3
21223695Sdfr.endif
22223695Sdfr.if ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "arm"
23223695SdfrCFLAGS+=	-msoft-float
24223695Sdfr.endif
25223695Sdfr.if ${MACHINE} == "pc98"
26223695SdfrCFLAGS+=	-Os -DPC98
27223695Sdfr.endif
28223695Sdfr.if HAVE_PNP
29223695SdfrCFLAGS+=	-DHAVE_PNP
30223695Sdfr.endif
31223695Sdfr.ifmake testmain
32223695SdfrCFLAGS+=	-DTESTMAIN -D_TESTMAIN
33223695SdfrSRCS+=		testmain.c
34223695SdfrPROG=		testmain
35223695Sdfr.include <bsd.prog.mk>
36223695Sdfr.else
37223695SdfrLIB=		ficl
38223695SdfrINTERNALLIB=
39223695Sdfr.include <bsd.lib.mk>
40223695Sdfr.endif
41223695Sdfr
42223695Sdfr# Standard softwords
43223695Sdfr.PATH: ${.CURDIR}/../../ficl/softwords
44223695SdfrSOFTWORDS=	softcore.fr jhlocal.fr marker.fr freebsd.fr ficllocal.fr \
45223695Sdfr		ifbrack.fr
46223695Sdfr# Optional OO extension softwords
47223695Sdfr#SOFTWORDS+=	oo.fr classes.fr
48223695Sdfr
49223695Sdfr#.if ${MACHINE_CPUARCH} == "amd64"
50241785Savg#CFLAGS+=	-m32 -I.
51223695Sdfr#.endif
52223695Sdfr
53223695Sdfr.if ${MACHINE_ARCH} == "powerpc64"
54223695SdfrCFLAGS+=	-m32 -mcpu=powerpc -I.
55223695Sdfr.endif
56223695Sdfr
57223695SdfrCFLAGS+=	-I${.CURDIR}/../../ficl
58223695SdfrCFLAGS+=	-I${.CURDIR}/../../ficl/${MACHINE_CPUARCH}
59223695SdfrCFLAGS+=	-I${.CURDIR}/../../common
60223695Sdfr
61223695Sdfrsoftcore.c: ${SOFTWORDS} softcore.awk
62223695Sdfr	(cd ${.CURDIR}/../../ficl/softwords; cat ${SOFTWORDS} \
63223695Sdfr	    | awk -f softcore.awk -v datestamp="`LC_ALL=C date`") > ${.TARGET}
64223695Sdfr
65223695Sdfr#.if ${MACHINE_CPUARCH} == "amd64"
66223695Sdfr#${SRCS:M*.c:R:S/$/.o/g}: machine
67223695Sdfr#
68223695Sdfr#beforedepend ${OBJS}: machine
69223695Sdfr#
70223695Sdfr#machine:
71223695Sdfr#	ln -sf ${.CURDIR}/../../i386/include machine
72223695Sdfr#
73223695Sdfr#CLEANFILES+=	machine
74223695Sdfr#.endif
75