]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - sys/boot/ficl/Makefile
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / sys / boot / ficl / Makefile
1 # $FreeBSD$
2 #
3 .PATH: ${.CURDIR}/${MACHINE_CPUARCH:S/amd64/i386/}
4 BASE_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
7 SRCS=           ${BASE_SRCS} sysdep.c softcore.c
8 CLEANFILES=     softcore.c testmain testmain.o
9 CFLAGS+=        -ffreestanding
10 .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
11 CFLAGS+=        -march=i386
12 CFLAGS+=        -mpreferred-stack-boundary=2
13 CFLAGS+=        -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -msoft-float
14 .endif
15 .if ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "arm"
16 CFLAGS+=        -msoft-float
17 .endif
18 .if ${MACHINE} == "pc98"
19 CFLAGS+=        -Os -DPC98
20 .endif
21 .if HAVE_PNP
22 CFLAGS+=        -DHAVE_PNP
23 .endif
24 .ifmake testmain
25 CFLAGS+=        -DTESTMAIN -D_TESTMAIN
26 SRCS+=          testmain.c
27 PROG=           testmain
28 .include <bsd.prog.mk>
29 .else
30 LIB=            ficl
31 INTERNALLIB=
32 .include <bsd.lib.mk>
33 .endif
34
35 # Standard softwords
36 .PATH: ${.CURDIR}/softwords
37 SOFTWORDS=      softcore.fr jhlocal.fr marker.fr freebsd.fr ficllocal.fr \
38                 ifbrack.fr
39 # Optional OO extension softwords
40 #SOFTWORDS+=    oo.fr classes.fr
41
42 .if ${MACHINE_CPUARCH} == "amd64"
43 CFLAGS+=        -m32 -I.
44 .endif
45
46 .if ${MACHINE_ARCH} == "powerpc64"
47 CFLAGS+=        -m32 -mcpu=powerpc -I.
48 .endif
49
50 CFLAGS+=        -I${.CURDIR} -I${.CURDIR}/${MACHINE_CPUARCH:S/amd64/i386/} \
51                 -I${.CURDIR}/../common
52
53 softcore.c: ${SOFTWORDS} softcore.awk
54         (cd ${.CURDIR}/softwords; cat ${SOFTWORDS} \
55             | awk -f softcore.awk -v datestamp="`LC_ALL=C date`") > ${.TARGET}
56
57 .if ${MACHINE_CPUARCH} == "amd64"
58 .if !exists(machine)
59 ${SRCS:M*.c:R:S/$/.o/g}: machine
60
61 beforedepend ${OBJS}: machine
62 .endif
63
64 machine:
65         ln -sf ${.CURDIR}/../../i386/include machine
66
67 CLEANFILES+=    machine
68 .endif