kata-containers/tools/packaging/kata-deploy/local-build/Makefile
Fabiano Fidêncio 5b0d0687e5
packaging: agent: Allow building in all arches
We're moving away from alpine and using ubuntu in order to be able to
build the agent for all the architectures we need.

Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
2024-01-25 19:41:32 +01:00

192 lines
3.6 KiB
Makefile

# Copyright (c) 2021 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
MK_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
MK_DIR := $(dir $(MK_PATH))
# Verbose build
V := 1
ifeq ($(CROSS_BUILD),)
CROSS_BUILD = false
endif
ifeq ($(CROSS_BUILD),false)
ARCH := $(shell uname -m)
endif
ifeq ($(ARCH), x86_64)
BASE_TARBALLS = serial-targets \
firecracker-tarball \
kernel-confidential-tarball \
kernel-dragonball-experimental-tarball \
kernel-nvidia-gpu-tarball \
kernel-nvidia-gpu-confidential-tarball \
kernel-nvidia-gpu-snp-tarball \
kernel-nvidia-gpu-tdx-experimental-tarball \
kernel-tarball \
kernel-tdx-experimental-tarball \
nydus-tarball \
ovmf-sev-tarball \
ovmf-tarball \
qemu-snp-experimental-tarball \
qemu-tarball \
qemu-tdx-experimental-tarball \
stratovirt-tarball \
shim-v2-tarball \
tdvf-tarball \
virtiofsd-tarball
BASE_SERIAL_TARBALLS = rootfs-image-tarball \
rootfs-image-tdx-tarball \
rootfs-initrd-mariner-tarball \
rootfs-initrd-sev-tarball \
rootfs-initrd-tarball \
cloud-hypervisor-tarball \
cloud-hypervisor-glibc-tarball
else ifeq ($(ARCH), s390x)
BASE_TARBALLS = serial-targets \
kernel-tarball \
qemu-tarball \
shim-v2-tarball \
virtiofsd-tarball
BASE_SERIAL_TARBALLS = rootfs-image-tarball \
rootfs-initrd-tarball
endif
define BUILD
$(MK_DIR)/kata-deploy-binaries-in-docker.sh $(if $(V),,-s) --build=$1
endef
kata-tarball: | all-parallel merge-builds
$(MK_DIR)/dockerbuild/install_yq.sh:
$(MK_DIR)/kata-deploy-copy-yq-installer.sh
copy-scripts-for-the-agent-build:
${MK_DIR}/kata-deploy-copy-libseccomp-installer.sh
all-parallel: $(MK_DIR)/dockerbuild/install_yq.sh
${MAKE} -f $(MK_PATH) all -j $(shell nproc ${CI:+--ignore 1}) V=
all: ${BASE_TARBALLS}
serial-targets:
${MAKE} -f $(MK_PATH) -j 1 V= \
${BASE_SERIAL_TARBALLS}
%-tarball-build: $(MK_DIR)/dockerbuild/install_yq.sh
$(call BUILD,$*)
agent-tarball: copy-scripts-for-the-agent-build
${MAKE} $@-build
agent-opa-tarball: copy-scripts-for-the-agent-build
${MAKE} $@-build
agent-ctl-tarball:
${MAKE} $@-build
cloud-hypervisor-tarball:
${MAKE} $@-build
cloud-hypervisor-glibc-tarball:
${MAKE} $@-build
firecracker-tarball:
${MAKE} $@-build
genpolicy-tarball:
${MAKE} $@-build
kata-ctl-tarball:
${MAKE} $@-build
kernel-dragonball-experimental-tarball:
${MAKE} $@-build
kernel-nvidia-gpu-tarball:
${MAKE} $@-build
kernel-nvidia-gpu-confidential-tarball:
${MAKE} $@-build
kernel-nvidia-gpu-snp-tarball:
${MAKE} $@-build
kernel-nvidia-gpu-tdx-experimental-tarball:
${MAKE} $@-build
kernel-tarball:
${MAKE} $@-build
kernel-confidential-tarball:
${MAKE} $@-build
kernel-tdx-experimental-tarball:
${MAKE} $@-build
kernel-sev-tarball:
${MAKE} $@-build
nydus-tarball:
${MAKE} $@-build
ovmf-sev-tarball:
${MAKE} $@-build
ovmf-tarball:
${MAKE} $@-build
qemu-snp-experimental-tarball:
${MAKE} $@-build
qemu-tarball:
${MAKE} $@-build
boot-image-se-tarball: kernel-tarball rootfs-initrd-tarball
${MAKE} $@-build
qemu-tdx-experimental-tarball:
${MAKE} $@-build
stratovirt-tarball:
${MAKE} $@-build
rootfs-image-tarball:
${MAKE} $@-build
rootfs-image-tdx-tarball: kernel-tdx-experimental-tarball
${MAKE} $@-build
rootfs-initrd-mariner-tarball:
${MAKE} $@-build
rootfs-initrd-sev-tarball: kernel-sev-tarball
${MAKE} $@-build
rootfs-initrd-tarball:
${MAKE} $@-build
runk-tarball:
${MAKE} $@-build
shim-v2-tarball:
${MAKE} $@-build
tdvf-tarball:
${MAKE} $@-build
trace-forwarder-tarball:
${MAKE} $@-build
virtiofsd-tarball:
${MAKE} $@-build
merge-builds:
$(MK_DIR)/kata-deploy-merge-builds.sh build "$(MK_DIR)/../../../../versions.yaml"
install-tarball:
tar -xf ./kata-static.tar.xz -C /