11.6Sroy#	$NetBSD: Makefile,v 1.6 2017/02/03 17:28:58 roy Exp $
21.1Sjakllsch
31.1SjakllschLIB=	gnuefi
41.1SjakllschLIBISPRIVATE?= yes
51.1Sjakllsch
61.1SjakllschGNUEFI_USE_CREAD?= no		# Read compressed kernels
71.1SjakllschGNUEFI_INCLUDE_NET?= yes		# Netboot via TFTP, NFS
81.1SjakllschGNUEFI_USE_LOADFILE?= no		# Generic executable loading support
91.1SjakllschGNUEFI_ENABLE_LS_OP?= no		# Filesystems ls operation
101.1Sjakllsch
111.5SnonakaGNUEFIDIST=	${GNUEFIDIR}/../../external/bsd/gnu-efi/dist
121.5Snonaka
131.1SjakllschCPPFLAGS=	-I${GNUEFIDIR} ${GNUEFICPPFLAGS} ${GNUEFIMISCCPPFLAGS}
141.1Sjakllsch
151.5Snonaka.if defined(GNUEFI_EXTRADIR)
161.5Snonaka.-include "${GNUEFI_EXTRADIR}/Makefile.inc"
171.5Snonaka.endif
181.5Snonaka
191.5Snonaka.include <bsd.own.mk>
201.5Snonaka
211.5SnonakaLIBGNUEFI_ARCH?=	${MACHINE_ARCH}
221.5SnonakaLIBGNUEFI_CPU?=		${MACHINE_CPU}
231.5Snonaka
241.5Snonaka.if ${LIBGNUEFI_ARCH} == "i386"
251.1SjakllschGNUEFIARCH=ia32
261.1Sjakllsch.else
271.5SnonakaGNUEFIARCH=${LIBGNUEFI_ARCH}
281.1Sjakllsch.endif
291.1Sjakllsch
301.5Snonaka.if defined(LIBGNUEFI_ARCH) && !empty(LIBGNUEFI_ARCH) && \
311.5Snonaka	    exists(${GNUEFIDIR}/arch/${LIBGNUEFI_ARCH})
321.5SnonakaARCHSUBDIR=	${LIBGNUEFI_ARCH}
331.5Snonaka.elif defined(MACHINE_ARCH) && !empty(MACHINE_ARCH) && \
341.5Snonaka	    exists(${GNUEFIDIR}/arch/${MACHINE_ARCH})
351.5SnonakaARCHSUBDIR=	${MACHINE_ARCH}
361.5Snonaka.elif defined(MACHINE_CPU) && !empty(MACHINE_CPU) && \
371.5Snonaka	    exists(${GNUEFIDIR}/arch/${MACHINE_CPU})
381.5SnonakaARCHSUBDIR=	${MACHINE_CPU}
391.1Sjakllsch.endif
401.1Sjakllsch
411.5SnonakaM= ${GNUEFIDIR}/arch/${ARCHSUBDIR}
421.5Snonaka
431.5Snonaka.if exists($M/Makefile.inc)
441.5SnonakaCPPFLAGS+= -I$M
451.5Snonaka.PATH.c: $M
461.5Snonaka.PATH.S: $M
471.5Snonaka.include "$M/Makefile.inc"
481.5Snonaka.endif
491.1Sjakllsch
501.5Snonaka.PATH.c: ${GNUEFIDIR} ${GNUEFIDIST}/lib/${GNUEFIARCH} ${GNUEFIDIST}/lib ${GNUEFIDIST}/lib/runtime
511.5Snonaka.PATH.S: ${GNUEFIDIR} ${GNUEFIDIST}/lib/${GNUEFIARCH} ${GNUEFIDIST}/lib ${GNUEFIDIST}/lib/runtime
521.1Sjakllsch
531.1SjakllschSRCS+=	boxdraw.c smbios.c console.c crc.c data.c debug.c dpath.c \
541.1Sjakllsch	error.c event.c guid.c hand.c hw.c init.c lock.c \
551.1Sjakllsch	misc.c print.c sread.c str.c \
561.1Sjakllsch	rtlock.c efirtlib.c rtstr.c vm.c rtdata.c \
571.1Sjakllsch	initplat.c math.c
581.1Sjakllsch
591.6SroyCWARNFLAGS.gcc+= -Wno-unused-but-set-variable
601.1SjakllschCOPTS.boxdraw.c= -Wno-missing-field-initializers
611.1SjakllschCOPTS.guid.c= -Wno-missing-field-initializers
621.1SjakllschCOPTS.smbios.c= -Wno-int-to-pointer-cast
631.6SroyCOPTS.dpath.c= -Wno-missing-prototypes
641.1SjakllschCOPTS.print.c= -Wno-missing-prototypes
651.6SroyCOPTS.hw.c= -Wno-shadow
661.1Sjakllsch
671.1Sjakllsch.include <bsd.lib.mk>
681.1Sjakllsch
691.3Suebayasilib${LIB}.o:: ${OBJS:O}
701.1Sjakllsch	@echo building standard ${LIB} library
711.1Sjakllsch	@rm -f lib${LIB}.o
721.1Sjakllsch	@${LD} -r -o lib${LIB}.o `lorder ${OBJS} | tsort`
731.1Sjakllsch
741.1SjakllschCPPFLAGS+=	-Wno-pointer-sign
75