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