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