1# $FreeBSD: releng/10.3/sys/boot/ia64/efi/Makefile 294460 2016-01-20 21:22:06Z emaste $
2
3MAN=
4
5.include <bsd.own.mk>
6MK_SSP=		no
7
8PROG=		loader.sym
9INTERNALPROG=
10SRCS=		conf.c efimd.c main.c pal.S start.S vers.c
11
12.PATH: ${.CURDIR}/../../../${MACHINE_CPUARCH}/${MACHINE_CPUARCH}
13
14CFLAGS+=	-I${.CURDIR}/../common
15CFLAGS+=	-I${.CURDIR}/../../common
16CFLAGS+=	-I${.CURDIR}/../../efi/include
17CFLAGS+=	-I${.CURDIR}/../../efi/include/${MACHINE_CPUARCH}
18CFLAGS+=	-I${.CURDIR}/../../..
19CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand
20
21LDSCRIPT=	${.CURDIR}/ldscript.${MACHINE_CPUARCH}
22LDFLAGS=	-Wl,-T${LDSCRIPT} -shared -symbolic
23
24${PROG}: ${LDSCRIPT}
25
26NEWVERSWHAT=	"EFI boot" ${MACHINE_CPUARCH}
27
28vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
29	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
30
31OBJCOPY?=	objcopy
32OBJDUMP?=	objdump
33
34FILES=		loader.efi
35FILESMODE_loader.efi= ${BINMODE}
36
37loader.efi: loader.sym
38	if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \
39		${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \
40		exit 1; \
41	fi
42	${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \
43	    -j .rela.dyn -j .reloc -j .sdata -j .text \
44	    --target=efi-app-${MACHINE_CPUARCH} ${.ALLSRC} ${.TARGET}
45
46CLEANFILES=	vers.c loader.efi
47
48LIBIA64=	${.OBJDIR}/../common/libia64.a
49LIBEFI=		${.OBJDIR}/../../efi/libefi/libefi.a
50.if ${MK_FORTH} != "no"
51LIBFICL=        ${.OBJDIR}/../../ficl/libficl.a
52.endif
53
54DPADD=		${LIBIA64} ${LIBFICL} ${LIBEFI} ${LIBSTAND}
55LDADD=		-Wl,--whole-archive ${LIBIA64} -Wl,--no-whole-archive \
56		    ${LIBFICL} ${LIBEFI} -lstand
57
58.include <bsd.prog.mk>
59