2019-02-26 06:09:10 +00:00
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
BRSSL_CFLAGS+= -DNO_STDIO
|
|
|
|
|
|
|
|
.include "Makefile.inc"
|
|
|
|
|
|
|
|
# for "measured boot"
|
|
|
|
# loader puts the equivalent of TPM's PCR register into kenv
|
|
|
|
# this is not as good but *way* simpler than talking to TPM
|
|
|
|
CFLAGS+= -DVE_PCR_SUPPORT
|
|
|
|
|
|
|
|
# sources that only apply to libsa
|
|
|
|
SRCS+= \
|
|
|
|
vectx.c \
|
|
|
|
veopen.c \
|
|
|
|
vepcr.c \
|
|
|
|
verify_file.c \
|
|
|
|
|
2019-03-06 06:39:42 +00:00
|
|
|
# Build library with support for the UEFI based authentication
|
|
|
|
.if ${MK_LOADER_EFI_SECUREBOOT} == "yes"
|
|
|
|
SRCS+= \
|
|
|
|
efi/efi_variables.c \
|
|
|
|
efi/efi_init.c
|
|
|
|
|
|
|
|
# Add includes required by efi part
|
|
|
|
CFLAGS+= \
|
|
|
|
-I${SRCTOP}/stand/efi/include \
|
|
|
|
-I${SRCTOP}/lib/libsecureboot/efi/include \
|
|
|
|
-I${SRCTOP}/stand/efi/include/${MACHINE}
|
|
|
|
.endif
|
|
|
|
|
2019-04-03 03:57:37 +00:00
|
|
|
.if ${MK_LOADER_VERIEXEC_PASS_MANIFEST} == "yes"
|
|
|
|
SRCS+= \
|
|
|
|
pass_manifest.c
|
|
|
|
.endif
|
|
|
|
|
2019-02-26 06:09:10 +00:00
|
|
|
# this is the list of paths (relative to a file
|
|
|
|
# that we need to verify) used to find a signed manifest.
|
|
|
|
# the signature extensions in VE_SIGNATURE_EXT_LIST
|
|
|
|
# will be applied to each.
|
|
|
|
VE_MANIFEST_LIST?= manifest ../manifest
|
|
|
|
|
|
|
|
verify_file.o: manifests.h
|
|
|
|
manifests.h:
|
|
|
|
@( echo '/* Autogenerated - DO NOT EDIT!!! */'; echo; \
|
|
|
|
echo "static const char *manifest_names[] = {"; \
|
|
|
|
echo '${VE_MANIFEST_LIST:@m@"$m",${.newline}@}'; \
|
|
|
|
echo 'NULL };' ) > ${.TARGET}
|
|
|
|
|
|
|
|
XCFLAGS.verify_file+= \
|
|
|
|
-DVE_DEBUG_LEVEL=${VE_DEBUG_LEVEL:U0} \
|
|
|
|
-DVE_VERBOSE_DEFAULT=${VE_VERBOSE_DEFAULT:U0} \
|
|
|
|
|
|
|
|
.if !empty(MANIFEST_SKIP_ALWAYS)
|
|
|
|
XCFLAGS.verify_file+= -DMANIFEST_SKIP_ALWAYS=\"${MANIFEST_SKIP_ALWAYS}\"
|
|
|
|
.elif !empty(MANIFEST_SKIP)
|
|
|
|
XCFLAGS.verify_file+= -DMANIFEST_SKIP=\"${MANIFEST_SKIP}\"
|
|
|
|
.endif
|