Home | History | Annotate | Line # | Download | only in libgnuefi
      1 #	$NetBSD: Makefile,v 1.6 2017/02/03 17:28:58 roy Exp $
      2 
      3 LIB=	gnuefi
      4 LIBISPRIVATE?= yes
      5 
      6 GNUEFI_USE_CREAD?= no		# Read compressed kernels
      7 GNUEFI_INCLUDE_NET?= yes		# Netboot via TFTP, NFS
      8 GNUEFI_USE_LOADFILE?= no		# Generic executable loading support
      9 GNUEFI_ENABLE_LS_OP?= no		# Filesystems ls operation
     10 
     11 GNUEFIDIST=	${GNUEFIDIR}/../../external/bsd/gnu-efi/dist
     12 
     13 CPPFLAGS=	-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 
     21 LIBGNUEFI_ARCH?=	${MACHINE_ARCH}
     22 LIBGNUEFI_CPU?=		${MACHINE_CPU}
     23 
     24 .if ${LIBGNUEFI_ARCH} == "i386"
     25 GNUEFIARCH=ia32
     26 .else
     27 GNUEFIARCH=${LIBGNUEFI_ARCH}
     28 .endif
     29 
     30 .if defined(LIBGNUEFI_ARCH) && !empty(LIBGNUEFI_ARCH) && \
     31 	    exists(${GNUEFIDIR}/arch/${LIBGNUEFI_ARCH})
     32 ARCHSUBDIR=	${LIBGNUEFI_ARCH}
     33 .elif defined(MACHINE_ARCH) && !empty(MACHINE_ARCH) && \
     34 	    exists(${GNUEFIDIR}/arch/${MACHINE_ARCH})
     35 ARCHSUBDIR=	${MACHINE_ARCH}
     36 .elif defined(MACHINE_CPU) && !empty(MACHINE_CPU) && \
     37 	    exists(${GNUEFIDIR}/arch/${MACHINE_CPU})
     38 ARCHSUBDIR=	${MACHINE_CPU}
     39 .endif
     40 
     41 M= ${GNUEFIDIR}/arch/${ARCHSUBDIR}
     42 
     43 .if exists($M/Makefile.inc)
     44 CPPFLAGS+= -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 
     53 SRCS+=	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 
     59 CWARNFLAGS.gcc+= -Wno-unused-but-set-variable
     60 COPTS.boxdraw.c= -Wno-missing-field-initializers
     61 COPTS.guid.c= -Wno-missing-field-initializers
     62 COPTS.smbios.c= -Wno-int-to-pointer-cast
     63 COPTS.dpath.c= -Wno-missing-prototypes
     64 COPTS.print.c= -Wno-missing-prototypes
     65 COPTS.hw.c= -Wno-shadow
     66 
     67 .include <bsd.lib.mk>
     68 
     69 lib${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 
     74 CPPFLAGS+=	-Wno-pointer-sign
     75