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