diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 30 |
1 files changed, 21 insertions, 9 deletions
@@ -1,5 +1,7 @@ mkfile_dir := $(dir $(abspath $(lastword $(MAKEFILE_LIST)))) +DEPENDS=.depends.mk + BINUTILS_VERSION ?= 2.46.0 GCC_VERSION ?= 15.2.0 GDB_VERSION ?= 17.1 @@ -16,20 +18,30 @@ MPC_VERSION ?= 1.3.1 TARGET ?= x86_64-pc-elf PLATFORM ?= x86-64 +REGISTRY ?= registry.gitlab.ost.ch:45023 + IMAGE_BUILD ?= 4 -IMAGE_NAME = "registry.gitlab.ost.ch:45023/teachos/devcontainers" -IMAGE_TAG = "$(PLATFORM):$(GCC_VERSION)-$(IMAGE_BUILD)" -ARCHIVE_NAME = "teachos-$(PLATFORM)-$(GCC_VERSION)-$(IMAGE_BUILD).tar.xz" +IMAGE_BASENAME = teachos/devcontainers +IMAGE_NAME = $(REGISTRY)/$(IMAGE_BASENAME) +IMAGE_TAG = $(PLATFORM):$(GCC_VERSION)-$(IMAGE_BUILD) +ARCHIVE_NAME = teachos-$(PLATFORM)-$(GCC_VERSION)-$(IMAGE_BUILD).tar + +.PHONY: all clean container_image + +all: $(ARCHIVE_NAME).xz + +clean: + rm -f $(ARCHIVE_NAME) + rm -f $(ARCHIVE_NAME).xz -all: toolchain_archive +$(ARCHIVE_NAME): container_image + podman run --rm --volume $(mkfile_dir):/mnt $(IMAGE_NAME)/$(IMAGE_TAG) tar -C /opt/toolchain -c -a -f /mnt/$(ARCHIVE_NAME) . -toolchain_archive: container_image - podman run --name teachos-toolchain-archive $(IMAGE_NAME)/$(IMAGE_TAG) tar -C /opt/toolchain -c -a -f /$(ARCHIVE_NAME) . - podman cp teachos-toolchain-archive:/$(ARCHIVE_NAME) $(ARCHIVE_NAME) - podman rm teachos-toolchain-archive +$(ARCHIVE_NAME).xz: $(ARCHIVE_NAME) + xz --keep --force --compress -9 --check=sha256 $(ARCHIVE_NAME) -container_image: +container_image: Containerfile podman pull docker.io/ubuntu:questing podman build \ --volume $(mkfile_dir)downloads:/downloads \ |
