Makefile revision 164010
1# $FreeBSD: head/sys/boot/ia64/efi/Makefile 164010 2006-11-05 22:03:04Z marcel $
2
3NO_MAN=
4
5.include <bsd.own.mk>
6
7PROG=		loader.sym
8INTERNALPROG=
9SRCS=		conf.c efimd.c main.c pal.S start.S vers.c
10
11.PATH: ${.CURDIR}/../../../${MACHINE_ARCH}/${MACHINE_ARCH}
12
13CFLAGS+=	-I${.CURDIR}/../common
14CFLAGS+=	-I${.CURDIR}/../../common
15CFLAGS+=	-I${.CURDIR}/../../efi/include
16CFLAGS+=	-I${.CURDIR}/../../efi/include/${MACHINE_ARCH}
17CFLAGS+=	-I${.CURDIR}/../../..
18CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand
19
20LDSCRIPT=	${.CURDIR}/ldscript.${MACHINE_ARCH}
21LDFLAGS=	-Wl,-T${LDSCRIPT} -shared -symbolic
22
23${PROG}: ${LDSCRIPT}
24
25NEWVERSWHAT=	"EFI boot" ${MACHINE_ARCH}
26
27vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
28	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
29
30OBJCOPY?=	objcopy
31OBJDUMP?=	objdump
32
33FILES=		loader.efi
34FILESMODE_loader.efi= ${BINMODE}
35
36loader.efi: loader.sym
37	if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \
38		${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \
39		rm ${.ALLSRC}; \
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_ARCH} ${.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