]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/blob - sys/boot/i386/efi/Makefile
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
[FreeBSD/stable/10.git] / sys / boot / i386 / efi / Makefile
1 # $FreeBSD$
2
3 NO_MAN=
4 BUILDING_EFI=
5
6 .include <bsd.own.mk>
7 MK_SSP=         no
8
9 PROG=           loader.sym
10 INTERNALPROG=
11
12 # architecture-specific loader code
13 SRCS=   main.c exec.c conf.c vers.c reloc.c start.S elf32_freebsd.c
14 SRCS+=  i386_copy.c bootinfo.c autoload.c devicename.c efimd.c
15
16 CFLAGS+=        -I${.CURDIR}/../../efi/include
17 CFLAGS+=        -I${.CURDIR}/../../efi/include/i386
18
19 .if ${MK_FORTH} != "no"
20 BOOT_FORTH=     yes
21 CFLAGS+=        -DBOOT_FORTH
22 CFLAGS+=        -I${.CURDIR}/../../ficl
23 CFLAGS+=        -I${.CURDIR}/../../ficl/i386
24 LIBFICL=        ${.OBJDIR}/../../ficl/libficl.a
25 .endif
26
27 # Include bcache code.
28 HAVE_BCACHE=    yes
29
30 # Always add MI sources 
31 .PATH:          ${.CURDIR}/../../common
32 .include        "${.CURDIR}/../../common/Makefile.inc"
33 CFLAGS+=        -I${.CURDIR}/../../common
34
35 FILES=  loader.efi
36 FILESMODE_loader.efi=   ${BINMODE}
37
38 LDSCRIPT=       ${.CURDIR}/ldscript.i386
39 LDFLAGS=        -Wl,-T${LDSCRIPT} -Wl,-Bsymbolic -shared
40
41 ${PROG}:        ${LDSCRIPT}
42
43 CLEANFILES=     vers.c loader.efi
44
45 NEWVERSWHAT=    "EFI loader" x86
46
47 vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
48         sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
49
50 OBJCOPY?=       objcopy
51 OBJDUMP?=       objdump
52
53 loader.efi: loader.sym
54         if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \
55                 ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \
56                 exit 1; \
57         fi
58         ${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \
59             -j .rel.dyn -j .reloc -j .sdata -j .text -j set_Xcommand_set \
60             --target=efi-app-ia32 ${.ALLSRC} ${.TARGET}
61
62 LIBEFI=         ${.OBJDIR}/../../efi/libefi/libefi.a
63 CFLAGS+=        -I${.CURDIR}/../libi386
64 CFLAGS+=        -I${.CURDIR}/../btx/lib
65
66 DPADD=          ${LIBFICL} ${LIBEFI} ${LIBSTAND}
67 LDADD=          ${LIBFICL} ${LIBEFI} ${LIBSTAND}
68
69 .include <bsd.prog.mk>
70
71 .if ${MACHINE_CPUARCH} == "amd64"
72 CFLAGS+=        -I.
73 beforedepend ${OBJS}: machine
74 machine:
75         ln -sf ${.CURDIR}/../../../i386/include machine
76 .endif