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