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