diff --git a/Makefile b/Makefile index 3339faa3..692acad6 100644 --- a/Makefile +++ b/Makefile @@ -43,11 +43,28 @@ $(PACKER): rm $(PACKER).zip chmod +x $@ +SDIST := dist/pwnagotchi-$(PWN_VERSION).tar.gz +$(SDIST): setup.py pwnagotchi + python3 setup.py sdist + +# Building the image requires packer, but don't rebuild the image just because packer updated. $(PWN_RELEASE).img: | $(PACKER) + +# If the packer or ansible files are updated, rebuild the image. +$(PWN_RELEASE).img: $(SDIST) builder/pwnagotchi.json.pkr.hcl builder/raspberrypi32.yml builder/raspberrypi64.yml builder/orangepi.yml builder/extras/nexmon.yml $(shell find builder/data -type f) + cd builder && packer init pwnagotchi.json.pkr.hcl && sudo $(UNSHARE) $(PACKER) build -var "pwn_hostname=$(PWN_HOSTNAME)" -var "pwn_version=$(PWN_VERSION)" pwnagotchi.json.pkr.hcl +# If any of these files are updated, rebuild the checksums. +$(PWN_RELEASE).sha256: $(PWN_RELEASE).img + sha256sum $^ > $@ + +# If any of the input files are updated, rebuild the archive. +$(PWN_RELEASE).zip: $(PWN_RELEASE).img $(PWN_RELEASE).sha256 + zip $(PWN_RELEASE).zip $^ + .PHONY: image -image: +image: $(PWN_RELEASE).zip clean: - python3 setup.py clean --all