c3013a3b8b52a4d19ec8f2818ef228de67d9e175
[dragonfly.git] / sys / boot / ficl / Makefile
1 # $FreeBSD: src/sys/boot/ficl/Makefile,v 1.35 2003/06/30 19:08:49 ru Exp $
2 # $DragonFly: src/sys/boot/ficl/Makefile,v 1.4 2004/03/05 21:38:44 joerg Exp $
3 #
4 .if ${MACHINE_ARCH} == "amd64"
5 .MAKEFLAGS:  MACHINE_ARCH=i386 MACHINE=i386 REALLY_AMD64=true
6 .endif
7
8 .PATH: ${.CURDIR}/${MACHINE_ARCH}
9 BASE_SRCS=      dict.c ficl.c fileaccess.c float.c loader.c math64.c \
10                 prefix.c search.c stack.c tools.c vm.c words.c
11
12 SRCS=           ${BASE_SRCS} sysdep.c softcore.c
13 OBJS+=          stack_protector.o
14
15 stack_protector.o: ../../libkern/stack_protector.c
16
17 CLEANFILES=     softcore.c testmain testmain.o
18 CFLAGS+=        -ffreestanding
19 .if ${MACHINE_ARCH} == "alpha"
20 CFLAGS+=        -mno-fp-regs
21 .endif
22 .if ${MACHINE_ARCH} == "i386"
23 CFLAGS+=        -mpreferred-stack-boundary=2
24 .endif
25 .if ${MACHINE} == "pc98"
26 CFLAGS+=        -DPC98
27 .endif
28 .if HAVE_PNP
29 CFLAGS+=        -DHAVE_PNP
30 .endif
31 .ifmake testmain
32 CFLAGS+=        -DTESTMAIN -D_TESTMAIN
33 SRCS+=          testmain.c
34 PROG=           testmain
35 .include <bsd.prog.mk>
36 .else
37 LIB=            ficl
38 INTERNALLIB=    yes
39 .include <bsd.lib.mk>
40 .endif
41
42 # Standard softwords
43 .PATH: ${.CURDIR}/softwords
44 SOFTWORDS=      softcore.fr jhlocal.fr marker.fr freebsd.fr ficllocal.fr \
45                 ifbrack.fr
46 # Optional OO extension softwords
47 #SOFTWORDS+=    oo.fr classes.fr
48
49 .if defined(REALLY_AMD64)
50 CFLAGS+=        -m32 -I.
51 .endif
52
53 CFLAGS+=        -I${.CURDIR} -I${.CURDIR}/${MACHINE_ARCH} -I${.CURDIR}/../common
54
55 softcore.c: ${SOFTWORDS} softcore.awk
56         (cd ${.CURDIR}/softwords; cat ${SOFTWORDS} \
57             | awk -f softcore.awk -v datestamp="`LC_ALL=C date`") > ${.TARGET}
58
59 .if defined(REALLY_AMD64)
60 ${SRCS:M*.c:R:S/$/.o/g}: machine
61
62 beforedepend ${OBJS}: machine
63
64 machine:
65         ln -sf ${.CURDIR}/../../i386/include machine
66
67 CLEANFILES+=    machine
68 .endif