#
|
# This file and its contents are supplied under the terms of the
|
# Common Development and Distribution License ("CDDL"), version 1.0.
|
# You may only use this file in accordance with the terms of version
|
# 1.0 of the CDDL.
|
#
|
# A full copy of the text of the CDDL should have accompanied this
|
# source. A copy of the CDDL is also available via the Internet at
|
# http://www.illumos.org/license/CDDL.
|
#
|
|
#
|
# Copyright 2022 OmniOS Community Edition (OmniOSce) Association.
|
#
|
|
include ../../../make-rules/shared-macros.mk
|
|
COMPONENT_NAME= uefi-edk2
|
COMPONENT_VERSION= 20230801
|
#COMPONENT_REVISION= 0
|
COMPONENT_FMRI= system/bhyve/firmware
|
COMPONENT_CLASSIFICATION=System/Core
|
COMPONENT_SUMMARY= UEFI-EDK2(+CSM) firmware for bhyve
|
|
COMPONENT_TAG= il-udk2014.sp1-3
|
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_TAG)
|
COMPONENT_ARCHIVE= $(COMPONENT_NAME)-$(COMPONENT_TAG).tar.xz
|
COMPONENT_ARCHIVE_HASH= \
|
sha256:998236765edaa683afc9a4799d40992c92d7ed543abf3fd28a3bc8b40aa2bc3d
|
COMPONENT_ARCHIVE_URL= \
|
https://github.com/illumos/$(COMPONENT_NAME)/releases/download/$(COMPONENT_TAG)/$(COMPONENT_ARCHIVE)
|
|
COMPONENT_TAG_1= il-edk2-stable202308-1
|
COMPONENT_SRC_1= $(COMPONENT_NAME)-$(COMPONENT_TAG_1)
|
COMPONENT_ARCHIVE_1= $(COMPONENT_NAME)-$(COMPONENT_TAG_1).tar.xz
|
COMPONENT_ARCHIVE_HASH_1= \
|
sha256:8aaacf4b7c6a875c78492ad74856802abcbce89ee8cf980efbd12c74946b3b79
|
COMPONENT_ARCHIVE_URL_1= \
|
https://github.com/illumos/$(COMPONENT_NAME)/releases/download/$(COMPONENT_TAG_1)/$(COMPONENT_ARCHIVE_1)
|
|
COMPONENT_PROJECT_URL= https://github.com/illumos/uefi-edk2
|
COMPONENT_LICENSE= simplified-BSD
|
|
include $(WS_MAKE_RULES)/prep.mk
|
include $(WS_MAKE_RULES)/justmake.mk
|
include $(WS_MAKE_RULES)/ips.mk
|
|
ENV = /usr/bin/env -i
|
|
COMPONENT_BUILD_ENV = PATH=$(PATH.illumos)
|
COMPONENT_BUILD_ENV += GMAKE=/usr/bin/gmake
|
COMPONENT_BUILD_ENV += GAS=/usr/bin/gas
|
COMPONENT_BUILD_ENV += GAR=/usr/bin/gar
|
COMPONENT_BUILD_ENV += GLD=/usr/bin/gld
|
COMPONENT_BUILD_ENV += GOBJCOPY=/usr/bin/gobjcopy
|
|
# Four variants of the bhyve firmware are built;
|
# DEBUG and RELEASE, and with and without CSM.
|
VARIANTS = DEBUG DEBUG.csm RELEASE RELEASE.csm
|
|
BUILD_64 = $(VARIANTS:%=$(BUILD_DIR)/%/.built)
|
INSTALL_64 = $(VARIANTS:%=$(BUILD_DIR)/%/.installed)
|
|
COMPONENT_BUILD_ACTION = \
|
cd $(@D); $(ENV) $(COMPONENT_BUILD_ENV) \
|
./build $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS)
|
|
$(BUILD_DIR)/RELEASE/.built: SOURCE_DIR = $(SOURCE_DIR_1)
|
$(BUILD_DIR)/RELEASE/.built: COMPONENT_BUILD_ENV += GCCPATH=$(GCC_ROOT)
|
$(BUILD_DIR)/RELEASE/.built: COMPONENT_BUILD_ARGS =
|
$(BUILD_DIR)/RELEASE/.built: COMPONENT_BUILD_TARGETS = RELEASE
|
|
$(BUILD_DIR)/DEBUG/.built: SOURCE_DIR = $(SOURCE_DIR_1)
|
$(BUILD_DIR)/DEBUG/.built: COMPONENT_BUILD_ENV += GCCPATH=$(GCC_ROOT)
|
$(BUILD_DIR)/DEBUG/.built: COMPONENT_BUILD_ARGS =
|
$(BUILD_DIR)/DEBUG/.built: COMPONENT_BUILD_TARGETS = DEBUG
|
|
$(BUILD_DIR)/RELEASE.csm/.built: COMPONENT_BUILD_ENV += GCCPATH=/opt/gcc/4.4.4
|
$(BUILD_DIR)/RELEASE.csm/.built: COMPONENT_BUILD_ENV += PYTHON=/usr/bin/amd64/python2.7
|
$(BUILD_DIR)/RELEASE.csm/.built: COMPONENT_BUILD_ARGS = -csm
|
$(BUILD_DIR)/RELEASE.csm/.built: COMPONENT_BUILD_TARGETS = RELEASE
|
|
$(BUILD_DIR)/DEBUG.csm/.built: COMPONENT_BUILD_ENV += GCCPATH=/opt/gcc/4.4.4
|
$(BUILD_DIR)/DEBUG.csm/.built: COMPONENT_BUILD_ENV += PYTHON=/usr/bin/amd64/python2.7
|
$(BUILD_DIR)/DEBUG.csm/.built: COMPONENT_BUILD_ARGS = -csm
|
$(BUILD_DIR)/DEBUG.csm/.built: COMPONENT_BUILD_TARGETS = DEBUG
|
|
COMPONENT_PRE_INSTALL_ACTION = \
|
$(MKDIR) -p $(PROTO_DIR)/usr/share/bhyve/firmware
|
|
COMPONENT_INSTALL_ACTION = \
|
cd $(@D); \
|
$(CP) ./Build/BhyveX64/$(COMPONENT_INSTALL_TARGETS)_ILLGCC/FV/$(COMPONENT_INSTALL_SOURCE) \
|
$(PROTO_DIR)/usr/share/bhyve/firmware/$(COMPONENT_INSTALL_FILE)
|
|
$(BUILD_DIR)/DEBUG/.installed: COMPONENT_INSTALL_SOURCE = BHYVE_CODE.fd
|
$(BUILD_DIR)/DEBUG/.installed: COMPONENT_INSTALL_TARGETS = DEBUG
|
$(BUILD_DIR)/DEBUG/.installed: COMPONENT_INSTALL_FILE = BHYVE_DEBUG.fd
|
|
$(BUILD_DIR)/DEBUG.csm/.installed: COMPONENT_INSTALL_SOURCE = BHYVE.fd
|
$(BUILD_DIR)/DEBUG.csm/.installed: COMPONENT_INSTALL_TARGETS = DEBUG
|
$(BUILD_DIR)/DEBUG.csm/.installed: COMPONENT_INSTALL_FILE = BHYVE_DEBUG_CSM.fd
|
|
$(BUILD_DIR)/RELEASE/.installed: COMPONENT_INSTALL_SOURCE = BHYVE_CODE.fd
|
$(BUILD_DIR)/RELEASE/.installed: COMPONENT_INSTALL_TARGETS = RELEASE
|
$(BUILD_DIR)/RELEASE/.installed: COMPONENT_INSTALL_FILE = BHYVE_RELEASE.fd
|
$(BUILD_DIR)/RELEASE/.installed: \
|
COMPONENT_POST_INSTALL_ACTION = \
|
$(LN) -s $(COMPONENT_INSTALL_FILE) \
|
$(PROTO_DIR)/usr/share/bhyve/firmware/BHYVE.fd; \
|
$(CP) $(@D)/Build/BhyveX64/$(COMPONENT_INSTALL_TARGETS)_ILLGCC/FV/BHYVE_VARS.fd \
|
$(PROTO_DIR)/usr/share/bhyve/firmware/BHYVE_VARS.fd
|
|
$(BUILD_DIR)/RELEASE.csm/.installed: COMPONENT_INSTALL_SOURCE = BHYVE.fd
|
$(BUILD_DIR)/RELEASE.csm/.installed: COMPONENT_INSTALL_TARGETS = RELEASE
|
$(BUILD_DIR)/RELEASE.csm/.installed: COMPONENT_INSTALL_FILE = BHYVE_RELEASE_CSM.fd
|
$(BUILD_DIR)/RELEASE.csm/.installed: \
|
COMPONENT_POST_INSTALL_ACTION = $(LN) -s $(COMPONENT_INSTALL_FILE) \
|
$(PROTO_DIR)/usr/share/bhyve/firmware/BHYVE_CSM.fd
|
|
build: $(BUILD_64)
|
|
install: $(INSTALL_64)
|
|
test: $(NO_TESTS)
|
|
# Build dependencies
|
REQUIRED_PACKAGES += developer/acpi
|
REQUIRED_PACKAGES += developer/illumos-gcc
|
REQUIRED_PACKAGES += runtime/python-27
|
|
# Auto-generated dependencies
|