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