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 26.include <src.opts.mk> 27 28EFIBOOT=${SRCTOP}/stand/efi 29EDK2INC=${SRCTOP}/sys/contrib/edk2/Include 30 31.PATH: ${EFIBOOT}/libefi 32 33PACKAGE= efi-tools 34LIB= efivar 35SRCS= efivar.c efichar.c efivar-dp-format.c \ 36 efivar-dp-parse.c \ 37 efivar-dp-xlate.c \ 38 uefi-guid.c uefi-dputil.c 39INCS= efivar.h efivar-dp.h 40SHLIB_MAJOR= 1 41MAN= efivar.3 42 43CFLAGS+= -I${EFIBOOT}/include 44CFLAGS+= -I${.CURDIR} -I${EDK2INC} 45CFLAGS+= -fno-strict-aliasing 46 47MLINKS+=efivar.3 efi_variables_supported.3 \ 48 efivar.3 efi_del_variable.3 \ 49 efivar.3 efi_get_variable.3 \ 50 efivar.3 efi_get_variable_attributes.3 \ 51 efivar.3 efi_get_variable_size.3 \ 52 efivar.3 efi_append_variable.3 \ 53 efivar.3 efi_set_variable.3 \ 54 efivar.3 efi_get_next_variable_name.3 \ 55 efivar.3 efi_str_to_guid.3 \ 56 efivar.3 efi_guid_to_str.3 \ 57 efivar.3 efi_name_to_guid.3 \ 58 efivar.3 efi_guid_to_name.3 \ 59 efivar.3 efi_guid_to_symbol.3 \ 60 efivar.3 libefivar.3 61 62WARNS?= 9 63 64.include <bsd.lib.mk> 65 66# We use UEFI parsing and formatting code from upstream EDK2 project. 67# They still have issues that require us to susppress some warnings. 68CWARNFLAGS+= -Wno-cast-align 69CWARNFLAGS+= -Wno-unused-parameter 70.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 130000 71CWARNFLAGS+= -Wno-unused-but-set-variable 72.endif 73