1# $NetBSD: Makefile,v 1.6 2017/02/03 17:28:58 roy Exp $ 2 3LIB= gnuefi 4LIBISPRIVATE?= yes 5 6GNUEFI_USE_CREAD?= no # Read compressed kernels 7GNUEFI_INCLUDE_NET?= yes # Netboot via TFTP, NFS 8GNUEFI_USE_LOADFILE?= no # Generic executable loading support 9GNUEFI_ENABLE_LS_OP?= no # Filesystems ls operation 10 11GNUEFIDIST= ${GNUEFIDIR}/../../external/bsd/gnu-efi/dist 12 13CPPFLAGS= -I${GNUEFIDIR} ${GNUEFICPPFLAGS} ${GNUEFIMISCCPPFLAGS} 14 15.if defined(GNUEFI_EXTRADIR) 16.-include "${GNUEFI_EXTRADIR}/Makefile.inc" 17.endif 18 19.include <bsd.own.mk> 20 21LIBGNUEFI_ARCH?= ${MACHINE_ARCH} 22LIBGNUEFI_CPU?= ${MACHINE_CPU} 23 24.if ${LIBGNUEFI_ARCH} == "i386" 25GNUEFIARCH=ia32 26.else 27GNUEFIARCH=${LIBGNUEFI_ARCH} 28.endif 29 30.if defined(LIBGNUEFI_ARCH) && !empty(LIBGNUEFI_ARCH) && \ 31 exists(${GNUEFIDIR}/arch/${LIBGNUEFI_ARCH}) 32ARCHSUBDIR= ${LIBGNUEFI_ARCH} 33.elif defined(MACHINE_ARCH) && !empty(MACHINE_ARCH) && \ 34 exists(${GNUEFIDIR}/arch/${MACHINE_ARCH}) 35ARCHSUBDIR= ${MACHINE_ARCH} 36.elif defined(MACHINE_CPU) && !empty(MACHINE_CPU) && \ 37 exists(${GNUEFIDIR}/arch/${MACHINE_CPU}) 38ARCHSUBDIR= ${MACHINE_CPU} 39.endif 40 41M= ${GNUEFIDIR}/arch/${ARCHSUBDIR} 42 43.if exists($M/Makefile.inc) 44CPPFLAGS+= -I$M 45.PATH.c: $M 46.PATH.S: $M 47.include "$M/Makefile.inc" 48.endif 49 50.PATH.c: ${GNUEFIDIR} ${GNUEFIDIST}/lib/${GNUEFIARCH} ${GNUEFIDIST}/lib ${GNUEFIDIST}/lib/runtime 51.PATH.S: ${GNUEFIDIR} ${GNUEFIDIST}/lib/${GNUEFIARCH} ${GNUEFIDIST}/lib ${GNUEFIDIST}/lib/runtime 52 53SRCS+= boxdraw.c smbios.c console.c crc.c data.c debug.c dpath.c \ 54 error.c event.c guid.c hand.c hw.c init.c lock.c \ 55 misc.c print.c sread.c str.c \ 56 rtlock.c efirtlib.c rtstr.c vm.c rtdata.c \ 57 initplat.c math.c 58 59CWARNFLAGS.gcc+= -Wno-unused-but-set-variable 60COPTS.boxdraw.c= -Wno-missing-field-initializers 61COPTS.guid.c= -Wno-missing-field-initializers 62COPTS.smbios.c= -Wno-int-to-pointer-cast 63COPTS.dpath.c= -Wno-missing-prototypes 64COPTS.print.c= -Wno-missing-prototypes 65COPTS.hw.c= -Wno-shadow 66 67.include <bsd.lib.mk> 68 69lib${LIB}.o:: ${OBJS:O} 70 @echo building standard ${LIB} library 71 @rm -f lib${LIB}.o 72 @${LD} -r -o lib${LIB}.o `lorder ${OBJS} | tsort` 73 74CPPFLAGS+= -Wno-pointer-sign 75