blob: 2fd73c31628078f315163789f6475bb4db3ed461 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
mkfile_dir := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
BINUTILS_VERSION ?= 2.46.0
GCC_VERSION ?= 15.2.0
GDB_VERSION ?= 17.1
NEWLIB_VERSION ?= 4.6.0.20260123
ZLIB_VERSION ?= 1.3.2
NCURSES_VERSION ?= 6.4
EXPAT_VERSION ?= 2.6.2
READLINE_VERSION ?= 8.2
GMP_VERSION ?= 6.2.1
MPFR_VERSION ?= 4.1.0
MPC_VERSION ?= 1.2.1
TARGET ?= x86_64-pc-elf
PLATFORM ?= x86-64
IMAGE_BUILD ?= 3
IMAGE_NAME = "registry.gitlab.ost.ch:45023/teachos/devcontainers"
IMAGE_TAG = "$(PLATFORM):$(GCC_VERSION)-$(IMAGE_BUILD)"
ARCHIVE_NAME = "teachos-$(PLATFORM)-$(GCC_VERSION)-$(IMAGE_BUILD)"
all: toolchain_archive
toolchain_archive: container_image
podman create --name teachos-toolchain-archive $(IMAGE_NAME)/$(IMAGE_TAG)
podman cp teachos-toolchain-archive:/opt/toolchain $(ARCHIVE_NAME)
tar caf $(ARCHIVE_NAME).tar.xz $(ARCHIVE_NAME)
container_image:
podman pull docker.io/ubuntu:questing
podman build \
--volume $(mkfile_dir)downloads:/downloads \
--build-arg BINUTILS_VERSION=$(BINUTILS_VERSION) \
--build-arg GCC_VERSION=$(GCC_VERSION) \
--build-arg GDB_VERSION=$(GDB_VERSION) \
--build-arg NEWLIB_VERSION=$(NEWLIB_VERSION) \
--build-arg TARGET=$(TARGET) \
--build-arg ZLIB_VERSION=$(ZLIB_VERSION) \
--build-arg NCURSES_VERSION=$(NCURSES_VERSION) \
--build-arg EXPAT_VERSION=$(EXPAT_VERSION) \
--build-arg READLINE_VERSION=$(READLINE_VERSION) \
--build-arg GMP_VERSION=$(GMP_VERSION) \
--build-arg MPFR_VERSION=$(MPFR_VERSION) \
--build-arg MPC_VERSION=$(MPC_VERSION) \
--tag $(IMAGE_NAME)/$(IMAGE_TAG) \
.
podman tag $(IMAGE_NAME)/$(IMAGE_TAG) $(IMAGE_NAME)/$(PLATFORM):latest
|