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