xref: /netbsd-src/sys/lib/libgnuefi/Makefile (revision 03db8b97a429d7db182d35e253552f2015ecb42c)
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