rel := https://github.com/armbian/community/releases/download/24.5.0-trunk.433/Armbian_community_24.5.0-trunk.433_Aml-s9xx-box_bookworm_current_6.6.28_minimal.img.xz
sig := https://github.com/armbian/community/releases/download/24.5.0-trunk.433/Armbian_community_24.5.0-trunk.433_Aml-s9xx-box_bookworm_current_6.6.28_minimal.img.xz.asc

image := $(shell echo $(rel) | sed 's/.*\///')
raw := $(shell echo $(image) | sed 's/\.xz//')

git := $(shell git rev-parse --short HEAD)

$(image):
	curl -L -O $(rel)
	curl -L -O $(sig)

verify: $(image) $(image).asc
	gpg --verify $(image).asc $(image)

$(raw): $(image)
	xz -dk $(image)

mount: $(raw) umount
	mkdir -p ./rootfs
	mkdir -p ./boot
	sudo losetup /dev/loop1337 $(raw)
	sudo partprobe /dev/loop1337
	sudo mount /dev/loop1337p2 ./rootfs
	sudo mount /dev/loop1337p1 ./boot

# Armbian signing keys
get-keys:
	gpg --recv-keys DF00FAF1C577104B50BF1D0093D6889F9F0E78D5

umount:
	-sudo umount -f ./rootfs
	-sudo umount -f ./boot
	-sudo losetup -d /dev/loop1337

uboot: mount
	sudo cp boot/u-boot-s905x-s912 boot/u-boot.ext

extlinux: uboot
	sudo sed -i '4iFDT /dtb/amlogic/meson-gxl-s905x-p212.dtb' boot/extlinux/extlinux.conf

armbian-$(git).img.zst: extlinux
	sudo dd if=/dev/loop1337 bs=1M | zstd -10 -fo $@

build: armbian-$(git).img.zst

sign: armbian-$(git).img.zst
	minisign -Sm $<

# Imbus personal key
verify-build:
	minisign -Vm armbian.img.zst -P RWRzPhin2brRy61x/adSOnFyhdWRkC0i37VJrOrFjMy6M073Mdu7gZXO

clean: umount
	rm -f $(image) $(raw) $(image).asc $(readme) $(sig) $(sums) armbian.img *.txt *.sha
	rm -f armbian.img.zst armbian.img.zst.minisig
	-rmdir ./rootfs
	-rmdir ./boot