Makefile revision 260096
1132718Skan# $FreeBSD: stable/10/sys/boot/ficl/Makefile 260096 2013-12-30 20:15:46Z dim $
2132718Skan#
3169689Skan
4132718SkanFICLDIR?=	${.CURDIR}
5132718Skan
6132718Skan.if !defined(FICL64)
7132718Skan.PATH: ${FICLDIR}/${MACHINE_CPUARCH:S/amd64/i386/}
8132718Skan.else
9132718Skan.PATH: ${FICLDIR}/${MACHINE_CPUARCH}
10132718Skan.endif
11132718SkanBASE_SRCS=	dict.c ficl.c fileaccess.c float.c loader.c math64.c \
12132718Skan		prefix.c search.c stack.c tools.c vm.c words.c
13132718Skan
14132718SkanSRCS=		${BASE_SRCS} sysdep.c softcore.c
15132718SkanCLEANFILES=	softcore.c testmain testmain.o
16132718SkanCFLAGS+=	-ffreestanding
17132718Skan.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
18132718Skan.if !defined(FICL64)
19132718SkanCFLAGS+=	-march=i386
20132718SkanCFLAGS.gcc+=	-mpreferred-stack-boundary=2
21132718Skan.endif
22132718SkanCFLAGS+=	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
23169689Skan.endif
24169689Skan.if ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "arm"
25132718SkanCFLAGS+=	-msoft-float
26132718Skan.endif
27132718Skan.if ${MACHINE} == "pc98"
28132718SkanCFLAGS+=	-Os -DPC98
29132718Skan.endif
30132718Skan.if HAVE_PNP
31132718SkanCFLAGS+=	-DHAVE_PNP
32132718Skan.endif
33132718Skan.ifmake testmain
34132718SkanCFLAGS+=	-DTESTMAIN -D_TESTMAIN
35132718SkanSRCS+=		testmain.c
36132718SkanPROG=		testmain
37132718Skan.include <bsd.prog.mk>
38132718Skan.else
39132718SkanLIB=		ficl
40132718SkanINTERNALLIB=
41132718Skan.include <bsd.lib.mk>
42132718Skan.endif
43132718Skan
44132718Skan# Standard softwords
45169689Skan.PATH: ${FICLDIR}/softwords
46169689SkanSOFTWORDS=	softcore.fr jhlocal.fr marker.fr freebsd.fr ficllocal.fr \
47132718Skan		ifbrack.fr
48132718Skan# Optional OO extension softwords
49132718Skan#SOFTWORDS+=	oo.fr classes.fr
50132718Skan
51132718Skan.if ${MACHINE_CPUARCH} == "amd64" && !defined(FICL64)
52132718SkanCFLAGS+=	-m32 -I.
53132718Skan.endif
54132718Skan
55132718Skan.if ${MACHINE_ARCH} == "powerpc64"
56132718SkanCFLAGS+=	-m32 -mcpu=powerpc -I.
57132718Skan.endif
58132718Skan
59132718SkanCFLAGS+=	-I${FICLDIR} -I${FICLDIR}/${MACHINE_CPUARCH:S/amd64/i386/} \
60132718Skan		-I${FICLDIR}/../common
61132718Skan
62132718Skansoftcore.c: ${SOFTWORDS} softcore.awk
63132718Skan	(cd ${FICLDIR}/softwords; cat ${SOFTWORDS} \
64132718Skan	    | awk -f softcore.awk -v datestamp="`LC_ALL=C date`") > ${.TARGET}
65132718Skan
66132718Skan.if ${MACHINE_CPUARCH} == "amd64"
67132718Skan.if !exists(machine)
68132718Skan${SRCS:M*.c:R:S/$/.o/g}: machine
69132718Skan
70132718Skanbeforedepend ${OBJS}: machine
71132718Skan.endif
72132718Skan
73132718Skanmachine:
74132718Skan	ln -sf ${.CURDIR}/../../i386/include machine
75132718Skan
76132718SkanCLEANFILES+=	machine
77132718Skan.endif
78132718Skan