Home | History | Annotate | Line # | Download | only in efi
      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