Makefile revision 217033
1# $FreeBSD: head/sys/boot/ficl/Makefile 217033 2011-01-05 22:24:33Z dim $
2#
3.PATH: ${.CURDIR}/${MACHINE_CPUARCH:S/amd64/i386/}
4BASE_SRCS=	dict.c ficl.c fileaccess.c float.c loader.c math64.c \
5		prefix.c search.c stack.c tools.c vm.c words.c
6
7SRCS=		${BASE_SRCS} sysdep.c softcore.c
8CLEANFILES=	softcore.c testmain testmain.o
9CFLAGS+=	-ffreestanding
10.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
11CFLAGS+=	-mpreferred-stack-boundary=2
12CFLAGS+=	-mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
13.endif
14.if ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "arm"
15CFLAGS+=	-msoft-float
16.endif
17.if ${MACHINE} == "pc98"
18CFLAGS+=	-Os -DPC98
19.endif
20.if HAVE_PNP
21CFLAGS+=	-DHAVE_PNP
22.endif
23.ifmake testmain
24CFLAGS+=	-DTESTMAIN -D_TESTMAIN
25SRCS+=		testmain.c
26PROG=		testmain
27.include <bsd.prog.mk>
28.else
29LIB=		ficl
30INTERNALLIB=
31.include <bsd.lib.mk>
32.endif
33
34# Standard softwords
35.PATH: ${.CURDIR}/softwords
36SOFTWORDS=	softcore.fr jhlocal.fr marker.fr freebsd.fr ficllocal.fr \
37		ifbrack.fr
38# Optional OO extension softwords
39#SOFTWORDS+=	oo.fr classes.fr
40
41.if ${MACHINE_CPUARCH} == "amd64"
42CFLAGS+=	-m32 -march=i386 -I.
43.endif
44
45.if ${MACHINE_ARCH} == "powerpc64"
46CFLAGS+=	-m32 -mcpu=powerpc -I.
47.endif
48
49CFLAGS+=	-I${.CURDIR} -I${.CURDIR}/${MACHINE_CPUARCH:S/amd64/i386/} \
50		-I${.CURDIR}/../common
51
52softcore.c: ${SOFTWORDS} softcore.awk
53	(cd ${.CURDIR}/softwords; cat ${SOFTWORDS} \
54	    | awk -f softcore.awk -v datestamp="`LC_ALL=C date`") > ${.TARGET}
55
56.if ${MACHINE_CPUARCH} == "amd64"
57${SRCS:M*.c:R:S/$/.o/g}: machine
58
59beforedepend ${OBJS}: machine
60
61machine:
62	ln -sf ${.CURDIR}/../../i386/include machine
63
64CLEANFILES+=	machine
65.endif
66