| @@ -1,73 +1,62 @@ | | | @@ -1,73 +1,62 @@ |
| | | 1 | # $NetBSD: Makefile,v 1.4 2016/08/05 17:08:10 scole Exp $ |
| | | 2 | |
1 | S= ${.CURDIR}/../../../../.. | | 3 | S= ${.CURDIR}/../../../../.. |
2 | | | 4 | |
3 | VERSIONFILE= ${.CURDIR}/version | | 5 | VERSIONFILE= ${.CURDIR}/version |
4 | | | 6 | |
5 | .include "../Makefile.booters" | | 7 | .include "../Makefile.booters" |
6 | | | 8 | |
7 | PROG= loader.sym | | 9 | PROGS= loader.sym loader.efi |
8 | | | | |
9 | MAN=# Tell bsd.prog.mk that loader.sym is not a man page. | | | |
10 | | | | |
11 | INTERNALPROG= | | | |
12 | | | 10 | |
| | | 11 | MAN.loader.sym= # no man |
| | | 12 | MAN.loader.efi= # no man |
13 | | | 13 | |
14 | SRCS= start.S conf.c efimd.c vers.c main.c | | | |
15 | | | | |
16 | CPPFLAGS+= -I${IA64_STAND_DIR}/efi/include | | | |
17 | CPPFLAGS+= -I${IA64_STAND_DIR}/efi/include/${MACHINE_ARCH} | | | |
18 | CPPFLAGS+= -I${IA64_STAND_DIR}/efi/libefi/ | | 14 | CPPFLAGS+= -I${IA64_STAND_DIR}/efi/libefi/ |
19 | CPPFLAGS+= -I${IA64_STAND_DIR}/efi/libshell/ | | | |
20 | CPPFLAGS+= -I${IA64_STAND_DIR}/common/ | | 15 | CPPFLAGS+= -I${IA64_STAND_DIR}/common/ |
21 | CPPFLAGS+= -I${S} | | 16 | CPPFLAGS+= -I${S} |
22 | | | 17 | CPPFLAGS+= -DLOADER -DLIBKERN_OPTIMISE_SPACE -DHEAP_VARIABLE |
23 | CPPFLAGS+= -DLOADER | | | |
24 | | | | |
25 | CPPFLAGS+= -DLIBKERN_OPTIMISE_SPACE \ | | | |
26 | -DHEAP_VARIABLE | | | |
27 | | | | |
28 | | | | |
29 | # Pick up FreeBSD glue | | | |
30 | #CPPFLAGS+= -I${.CURDIR}/../../ | | | |
31 | | | 18 | |
32 | # Always add MI sources | | 19 | # Always add MI sources |
33 | .PATH: ${.CURDIR}/../../common | | 20 | .PATH: ${.CURDIR}/../../common |
34 | .include "${.CURDIR}/../../common/Makefile.inc" | | 21 | .include "${.CURDIR}/../../common/Makefile.inc" |
35 | | | 22 | |
| | | 23 | # need to do this after common stuff pulled in |
| | | 24 | SRCS.loader.sym:= start.S conf.c efimd.c vers.c main.c ${SRCS} |
36 | | | 25 | |
37 | FILES= loader.efi | | 26 | # XXX verify |
38 | | | 27 | BINDIR?= /usr/mdec |
39 | | | 28 | |
40 | LDSCRIPT= ${.CURDIR}/ldscript.${MACHINE_ARCH} | | 29 | LDSCRIPT= ${.CURDIR}/ldscript.${MACHINE_ARCH} |
41 | LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic -nostdlib | | 30 | LDFLAGS= -Wl,-T${LDSCRIPT} -shared -symbolic -nostdlib |
42 | | | 31 | |
43 | ${PROG}: ${LDSCRIPT} | | 32 | loader.sym: ${LDSCRIPT} |
44 | | | 33 | |
45 | CLEANFILES+= vers.c loader.efi ${OBJS} | | 34 | CLEANFILES+= vers.c ${OBJS} |
46 | | | 35 | |
47 | NEWVERSWHAT= "EFI boot" ${MACHINE_ARCH} | | 36 | NEWVERSWHAT= "EFI boot" ${MACHINE_ARCH} |
48 | | | 37 | |
49 | vers.c: ${VERSIONFILE} ${SOURCES} | | 38 | vers.c: ${VERSIONFILE} ${SOURCES} |
50 | ${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \ | | 39 | ${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \ |
51 | ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT} | | 40 | ${.ALLSRC} ${MACHINE} ${NEWVERSWHAT} |
52 | | | 41 | |
53 | loader.efi: ${PROG} | | 42 | loader.efi: loader.sym |
54 | if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \ | | 43 | if [ `${OBJDUMP} -t loader.sym | fgrep '*UND*' | wc -l` != 0 ]; then \ |
55 | ${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \ | | 44 | ${OBJDUMP} -t loader.sym | fgrep '*UND*'; \ |
56 | exit 1; \ | | 45 | exit 1; \ |
57 | fi | | 46 | fi |
58 | ${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \ | | 47 | ${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \ |
59 | -j .rela.dyn -j .reloc -j .sdata -j .text \ | | 48 | -j .rela.dyn -j .reloc -j .sdata -j .text \ |
60 | --target=efi-app-${MACHINE_ARCH} ${.ALLSRC} ${.TARGET} | | 49 | --target=efi-app-${MACHINE_ARCH} loader.sym ${.TARGET} |
61 | @echo link finished. | | 50 | @echo link finished. |
62 | | | 51 | |
63 | all: loader.efi | | 52 | all: loader.efi |
64 | | | 53 | |
65 | # Pull in libefi | | 54 | # Pull in libefi |
66 | .include "${IA64_STAND_DIR}/efi/libefi/Makefile.inc" | | 55 | .include "${IA64_STAND_DIR}/efi/libefi/Makefile.inc" |
67 | LIBEFI= ${EFILIB} | | 56 | LIBEFI= ${EFILIB} |
68 | | | 57 | |
69 | DPADD= ${LIBEFI} ${LIBLIST} | | 58 | DPADD= ${LIBEFI} ${LIBLIST} |
70 | | | 59 | |
71 | # Cross dependencies between LIBEFI and LIB(SA|KERN). Need to elaborate below. | | 60 | # Cross dependencies between LIBEFI and LIB(SA|KERN). Need to elaborate below. |
72 | LDADD= ${LIBEFI} ${LIBLIST} ${LIBEFI} ${LIBLIST} | | 61 | LDADD= ${LIBEFI} ${LIBLIST} ${LIBEFI} ${LIBLIST} |
73 | | | 62 | |