]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/blob - sys/boot/ficl/Makefile
MFC r241785: boot: use -march=i386 for both i386 and amd64 builds
[FreeBSD/stable/8.git] / sys / boot / ficl / Makefile
1 # $FreeBSD$
2 #
3 .PATH: ${.CURDIR}/${MACHINE_ARCH: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_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64"
11 CFLAGS+=        -march=i386
12 CFLAGS+=        -mpreferred-stack-boundary=2
13 CFLAGS+=        -mno-mmx -mno-3dnow -mno-sse -mno-sse2
14 .endif
15 .if ${MACHINE_ARCH} == "i386"
16 CFLAGS+=        -mno-sse3
17 .endif
18 .if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "arm"
19 CFLAGS+=        -msoft-float
20 .endif
21 .if ${MACHINE} == "pc98"
22 CFLAGS+=        -Os -DPC98
23 .endif
24 .if HAVE_PNP
25 CFLAGS+=        -DHAVE_PNP
26 .endif
27 .ifmake testmain
28 CFLAGS+=        -DTESTMAIN -D_TESTMAIN
29 SRCS+=          testmain.c
30 PROG=           testmain
31 .include <bsd.prog.mk>
32 .else
33 LIB=            ficl
34 INTERNALLIB=
35 .include <bsd.lib.mk>
36 .endif
37
38 # Standard softwords
39 .PATH: ${.CURDIR}/softwords
40 SOFTWORDS=      softcore.fr jhlocal.fr marker.fr freebsd.fr ficllocal.fr \
41                 ifbrack.fr
42 # Optional OO extension softwords
43 #SOFTWORDS+=    oo.fr classes.fr
44
45 .if ${MACHINE_ARCH} == "amd64"
46 CFLAGS+=        -m32 -I.
47 .endif
48
49 CFLAGS+=        -I${.CURDIR} -I${.CURDIR}/${MACHINE_ARCH:S/amd64/i386/} \
50                 -I${.CURDIR}/../common
51
52 softcore.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_ARCH} == "amd64"
57 ${SRCS:M*.c:R:S/$/.o/g}: machine
58
59 beforedepend ${OBJS}: machine
60
61 machine:
62         ln -sf ${.CURDIR}/../../i386/include machine
63
64 CLEANFILES+=    machine
65 .endif