]> git.plutz.net Git - blast/commitdiff
automatic target selection, selected variable exports, use SYSROOT and CFGROOT more...
authorPaul Hänsch <paul@plutz.net>
Sun, 12 Apr 2026 02:08:25 +0000 (04:08 +0200)
committerPaul Hänsch <paul@plutz.net>
Sun, 12 Apr 2026 02:08:25 +0000 (04:08 +0200)
Makefile

index ef72cc3a685e294516088c002e13355449d321a8..4d850645cb521fdfd890260215e211d81c6e92ca 100644 (file)
--- 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