.PHONY: all kata-agent initrd-update initrd-full payload-images coco-operator clean help
BUILD_SCRIPT := ./build.sh
all:
@echo "根据当前build.conf的设置进行构建..."
$(BUILD_SCRIPT)
kata-agent:
@echo "开始构建kata-agent..."
$(BUILD_SCRIPT) --only-steps "01_setup_build_env.sh,02_build_kata_agent.sh"
initrd-update: kata-agent
@echo "开始构建initrd镜像 (update模式)..."
INITRD_BUILD_MODE=update $(BUILD_SCRIPT) --only-steps "03_build_guest_components.sh,04_build_guest_kernel.sh,06_build_initrd.sh"
initrd-full: kata-agent
@echo "开始构建initrd镜像 (full模式)..."
INITRD_BUILD_MODE=full $(BUILD_SCRIPT) --only-steps "03_build_guest_components.sh,04_build_guest_kernel.sh,05_build_pause_bundle.sh,06_build_initrd.sh"
payload-images: initrd-update
@echo "开始构建payload相关镜像..."
$(BUILD_SCRIPT) --only-steps "07_package_kata_artifacts.sh,08_build_reqs_payload_image.sh,09_build_kata_deploy_image.sh"
coco-operator:
@echo "开始构建coco-operator部署清单..."
$(BUILD_SCRIPT) --only-steps "10_customize_coco_operator.sh"
clean:
@echo "清理构建结果..."
@if [ -d "./output" ]; then \
rm -rf ./output; \
echo "已删除output目录"; \
fi
@if [ -d "./logs" ]; then \
rm -rf ./logs; \
echo "已删除logs目录"; \
fi
@if [ -d "./source" ]; then \
rm -rf ./source; \
echo "已删除source目录"; \
fi
help:
@echo "Confidential Containers 构建系统 Makefile"
@echo ""
@echo "可用目标:"
@echo " all - 根据build.conf配置构建所有组件 (默认)"
@echo " kata-agent - 构建kata-agent二进制文件"
@echo " initrd-update - 快速构建initrd镜像 (update模式)"
@echo " initrd-full - 完整构建initrd镜像 (full模式)"
@echo " payload-images- 构建payload相关容器镜像"
@echo " coco-operator - 定制化coco-operator部署清单和CcRuntime配置"
@echo " clean - 清理构建结果 (output、logs、source目录)"
@echo " help - 显示此帮助信息"
@echo ""