Makefile revision 138140
1# $FreeBSD: head/sys/boot/ia64/efi/Makefile 138140 2004-11-28 00:26:11Z marcel $
2
3PROG=		loader.sym
4INTERNALPROG=
5SRCS=		conf.c dev_net.c efimd.c main.c start.S vers.c
6NOMAN=
7
8CFLAGS+=	-DLOADER
9CFLAGS+=	-I${.CURDIR}/../../efi/include
10CFLAGS+=	-I${.CURDIR}/../../efi/include/${MACHINE_ARCH}
11CFLAGS+=	-I${.CURDIR}/../../efi/libefi
12CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand
13
14.if !defined(NOFORTH)
15BOOT_FORTH=	yes
16CFLAGS+=	-DBOOT_FORTH
17CFLAGS+=	-I${.CURDIR}/../../ficl
18CFLAGS+=	-I${.CURDIR}/../../ficl/${MACHINE_ARCH}
19LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
20.endif
21
22# Always add MI sources 
23.PATH: ${.CURDIR}/../../common
24.include "${.CURDIR}/../../common/Makefile.inc"
25
26CFLAGS+=	-I${.CURDIR}/../../common
27
28.PATH: ${.CURDIR}/../../forth
29FILES=		loader.efi loader.help loader.4th support.4th loader.conf
30FILESMODE_loader.efi= ${BINMODE}
31FILESDIR_loader.conf= /boot/defaults
32
33.if !exists(${DESTDIR}/boot/loader.rc)
34FILES+=		loader.rc
35.endif
36
37LDSCRIPT=	${.CURDIR}/ldscript.${MACHINE_ARCH}
38LDFLAGS=	-Wl,-T${LDSCRIPT} -shared -symbolic
39
40${PROG}: ${LDSCRIPT}
41
42CLEANFILES=	vers.c loader.efi loader.help
43
44NEWVERSWHAT=	"EFI boot" ${MACHINE_ARCH}
45
46vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
47	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
48
49OBJCOPY?=	objcopy
50OBJDUMP?=	objdump
51
52loader.efi: loader.sym
53	if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \
54		${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \
55		exit 1; \
56	fi
57	${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \
58	    -j .rela.dyn -j .reloc -j .sdata -j .text \
59	    --target=efi-app-${MACHINE_ARCH} ${.ALLSRC} ${.TARGET}
60
61loader.help:	help.common
62	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \
63	    > ${.TARGET}
64
65LIBEFI=		${.OBJDIR}/../../efi/libefi/libefi.a
66
67DPADD=		${LIBFICL} ${LIBEFI} ${LIBSTAND}
68LDADD=		${LIBFICL} ${LIBEFI} -lstand
69
70.include <bsd.prog.mk>
71