From 48825571f8f2a18861437b94948d2749000021ee Mon Sep 17 00:00:00 2001 From: =?utf8?q?Paul=20H=C3=A4nsch?= Date: Sun, 12 Apr 2026 04:08:25 +0200 Subject: [PATCH] automatic target selection, selected variable exports, use SYSROOT and CFGROOT more consistently, readablility improvements --- Makefile | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index ef72cc3..4d85064 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,8 @@ _target: _config ARCH := amd64 BOOTSTRAP := http://deb.debian.org/debian PACKAGES := ${PACKAGES} apt busybox-static debian-archive-keyring init systemd +CFGROOT := cfg_root +SYSROOT = sys_root_${release}_${ARCH} config.mk: cp "config.example" "$@" @@ -34,10 +36,20 @@ KEYRING := keys/debian-archive-${release}-automatic.gpg ifndef SOURCES define SOURCES := deb http://deb.debian.org/debian ${release} main - deb https://deb.debian.org/debian-security/ ${release}/updates main + deb https://security.debian.org/debian-security/ ${release}-security main endef endif +ifdef squash + target := squashfs +endif +ifdef raspi + target := raspberrypi +endif +ifdef iso + target := isoimage +endif + include $(addsuffix .mk, $(addprefix targets/, ${target})) include modules/default.mk @@ -52,13 +64,13 @@ else ifeq "${ARCH}" "i386" PACKAGES += linux-image-686 endif -export SOURCES SYSROOT CFGROOT VOLUME PBOOT PROOT SQUASH ARCH KEYRING BOOTSTRAP ISOROOT ISO ISOLABEL +export SOURCES SYSROOT CFGROOT ARCH KEYRING BOOTSTRAP sys_root_${release}_${ARCH}/: btrfs subvol create "$@" || mkdir "$@" chmod 755 "$@" -cfg_root/: sys_root_${release}_${ARCH}/ _install +${CFGROOT}: sys_root_${release}_${ARCH}/ _install -btrfs sub del "$@" || rm -r "$@" btrfs sub snap "$<" "$@" || mkdir "$@" chmod 755 "$@" @@ -106,7 +118,6 @@ _install: ${SYSROOT} _aptkeys _norecommends chroot "$${SYSROOT}" rm /usr/sbin/udevadm _copy: ${SYSROOT} ${CFGROOT} - sync cp -au "$${SYSROOT}/." "$${CFGROOT}/" _config: ${CFGROOT} @@ -118,6 +129,10 @@ _config: ${CFGROOT} clean: [ "$${SYSROOT#/}" ] && [ "$${CFGROOT#/}" ] || false # (abort receipe) - if [ -d "cfg_root/" ]; then btrfs sub del "cfg_root/" || rm -r "cfg_root/"; fi - if [ -d "iso_root/" ]; then btrfs sub del "iso_root/" || rm -r "iso_root/"; fi - if [ -d "sys_root_${release}_${ARCH}/" ]; then btrfs sub del "sys_root_${release}_${ARCH}/" || rm -r "sys_root_${release}_${ARCH}/"; fi + if [ -d "$${CFGROOT}" ]; then \ + btrfs sub del "$${CFGROOT}" || rm -r -- "$${CFGROOT}"; \ + fi + if [ -d "$${SYSROOT}" ]; then \ + btrfs sub del "$${SYSROOT}" \ + || rm -r -- "$${SYSROOT}"; \ + fi -- 2.39.5