xref: /freebsd/lib/libefivar/Makefile (revision ebacd8013fe5f7fdf9f6a5b286f6680dd2891036)
1# Copyright 1998 Juniper Networks, Inc.
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions
6# are met:
7# 1. Redistributions of source code must retain the above copyright
8#    notice, this list of conditions and the following disclaimer.
9# 2. Redistributions in binary form must reproduce the above copyright
10#    notice, this list of conditions and the following disclaimer in the
11#    documentation and/or other materials provided with the distribution.
12#
13# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23# SUCH DAMAGE.
24#
25# $FreeBSD$
26
27.include <src.opts.mk>
28
29EFIBOOT=${SRCTOP}/stand/efi
30EDK2INC=${SRCTOP}/sys/contrib/edk2/Include
31
32.PATH:	${EFIBOOT}/libefi
33
34PACKAGE=	efi-tools
35LIB=		efivar
36SRCS=		efivar.c efichar.c efivar-dp-format.c \
37		efivar-dp-parse.c \
38		efivar-dp-xlate.c \
39		uefi-guid.c uefi-dputil.c
40INCS=		efivar.h efivar-dp.h
41SHLIB_MAJOR=	1
42MAN=		efivar.3
43
44CFLAGS+=	-I${EFIBOOT}/include
45CFLAGS+=	-I${.CURDIR} -I${EDK2INC}
46CFLAGS+=	-fno-strict-aliasing
47
48MLINKS+=efivar.3 efi_variables_supported.3 \
49	efivar.3 efi_del_variable.3 \
50	efivar.3 efi_get_variable.3 \
51	efivar.3 efi_get_variable_attributes.3 \
52	efivar.3 efi_get_variable_size.3 \
53	efivar.3 efi_append_variable.3 \
54	efivar.3 efi_set_variable.3 \
55	efivar.3 efi_get_next_variable_name.3 \
56	efivar.3 efi_str_to_guid.3 \
57	efivar.3 efi_guid_to_str.3 \
58	efivar.3 efi_name_to_guid.3 \
59	efivar.3 efi_guid_to_name.3 \
60	efivar.3 efi_guid_to_symbol.3 \
61	efivar.3 libefivar.3
62
63WARNS?=		9
64
65.include <bsd.lib.mk>
66
67# We use UEFI parsing and formatting code from upstream EDK2 project.
68# They still have issues that require us to susppress some warnings.
69CWARNFLAGS+=	-Wno-cast-align
70CWARNFLAGS+=	-Wno-unused-parameter
71.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 130000
72CWARNFLAGS+=	-Wno-unused-but-set-variable
73.endif
74