2024-07-09 14:58:07 +02:00
|
|
|
# Configuration file of the build system commands for the build server
|
|
|
|
|
2022-10-11 17:12:33 +02:00
|
|
|
IMG_TAG?=$(shell git describe --tags)
|
2022-10-17 02:33:44 +02:00
|
|
|
IMG_SEPARATOR?=_
|
2022-11-10 20:15:21 +01:00
|
|
|
IMG_DIR?=build/img/$(ARCH)
|
2022-10-11 17:12:33 +02:00
|
|
|
|
2022-10-17 02:33:44 +02:00
|
|
|
# CI image target - build desktop, server and demo images
|
|
|
|
# To leave out the build tag, set both IMG_TAG and IMG_SEPARATOR to null
|
2022-10-11 17:12:33 +02:00
|
|
|
ci-img: FORCE
|
2022-10-17 02:33:44 +02:00
|
|
|
rm -rf $(IMG_DIR)
|
|
|
|
mkdir -p $(IMG_DIR)
|
2024-11-21 16:06:54 +01:00
|
|
|
$(MAKE) server desktop demo
|
2024-01-11 20:16:43 +01:00
|
|
|
cd $(IMG_DIR) && zstd --rm *
|
2022-10-17 02:33:44 +02:00
|
|
|
cd $(IMG_DIR) && sha256sum -b * > SHA256SUM
|
|
|
|
|
|
|
|
# The name of the target must match the name of the filesystem config file
|
2024-08-28 21:55:25 +02:00
|
|
|
server desktop demo: FORCE
|
2022-11-23 21:58:56 +01:00
|
|
|
rm -f "build/$(ARCH)/$@/harddrive.img" "build/$(ARCH)/$@/livedisk.iso"
|
2022-12-03 01:22:44 +01:00
|
|
|
$(MAKE) CONFIG_NAME=$@ build/$(ARCH)/$@/harddrive.img build/$(ARCH)/$@/livedisk.iso
|
2022-11-23 21:58:56 +01:00
|
|
|
cp "build/$(ARCH)/$@/harddrive.img" "$(IMG_DIR)/redox_$(@)$(IMG_SEPARATOR)$(IMG_TAG)_harddrive.img"
|
|
|
|
cp "build/$(ARCH)/$@/livedisk.iso" "$(IMG_DIR)/redox_$(@)$(IMG_SEPARATOR)$(IMG_TAG)_livedisk.iso"
|
2022-10-11 17:12:33 +02:00
|
|
|
|
|
|
|
# CI packaging target
|
|
|
|
ci-pkg: prefix FORCE
|
|
|
|
$(HOST_CARGO) build --manifest-path cookbook/Cargo.toml --release
|
2024-10-20 00:53:33 +02:00
|
|
|
$(HOST_CARGO) build --manifest-path cookbook/docgen/Cargo.toml --release
|
|
|
|
$(HOST_CARGO) build --manifest-path cookbook/pkgar/Cargo.toml --release
|
2022-10-11 17:12:33 +02:00
|
|
|
$(HOST_CARGO) build --manifest-path installer/Cargo.toml --release
|
|
|
|
export PATH="$(PREFIX_PATH):$$PATH" && \
|
2025-02-04 16:33:19 +01:00
|
|
|
export COOKBOOK_HOST_SYSROOT="$(ROOT)/$(PREFIX_INSTALL)" && \
|
|
|
|
export COOKBOOK_PREFER_STATIC="$(PREFER_STATIC)" && \
|
2022-11-10 23:40:32 +01:00
|
|
|
PACKAGES="$$($(INSTALLER) --list-packages -c config/$(ARCH)/ci.toml)" && \
|
2022-10-11 17:12:33 +02:00
|
|
|
cd cookbook && \
|
|
|
|
./fetch.sh "$${PACKAGES}" && \
|
2024-10-16 05:14:30 +02:00
|
|
|
./repo.sh --appstream $(REPO_NONSTOP) "$${PACKAGES}"
|
2022-10-11 17:12:33 +02:00
|
|
|
|
|
|
|
# CI toolchain
|
|
|
|
ci-toolchain: FORCE
|
|
|
|
$(MAKE) PREFIX_BINARY=0 \
|
|
|
|
"prefix/$(TARGET)/gcc-install.tar.gz" \
|
|
|
|
"prefix/$(TARGET)/relibc-install.tar.gz" \
|
|
|
|
"prefix/$(TARGET)/rust-install.tar.gz"
|
2022-11-10 20:09:26 +01:00
|
|
|
rm -rf "build/toolchain/$(TARGET)"
|
|
|
|
mkdir -p "build/toolchain/$(TARGET)"
|
|
|
|
cp "prefix/$(TARGET)/gcc-install.tar.gz" "build/toolchain/$(TARGET)/gcc-install.tar.gz"
|
|
|
|
cp "prefix/$(TARGET)/relibc-install.tar.gz" "build/toolchain/$(TARGET)/relibc-install.tar.gz"
|
|
|
|
cp "prefix/$(TARGET)/rust-install.tar.gz" "build/toolchain/$(TARGET)/rust-install.tar.gz"
|
|
|
|
cd "build/toolchain/$(TARGET)" && sha256sum -b * > SHA256SUM
|