SHELL := /bin/ash
.SHELLFLAGS := -eu -c

SCAN_CONTAINER := hp-m1217-scanner-run

.PHONY: scan build clean check

scan: check build
	@mkdir -p scans
	@docker rm -f "$(SCAN_CONTAINER)" >/dev/null 2>&1 || true
	@cleanup() { \
		docker rm -f "$(SCAN_CONTAINER)" >/dev/null 2>&1 || true; \
	}; \
	trap cleanup EXIT HUP INT TERM; \
	PUID="$$(id -u)" PGID="$$(id -g)" \
		docker compose run --rm --name "$(SCAN_CONTAINER)" scanner

build: check
	@docker compose build scanner

clean: check
	@docker rm -f "$(SCAN_CONTAINER)" >/dev/null 2>&1 || true
	@docker compose down --rmi all --remove-orphans

check:
	@command -v docker >/dev/null 2>&1 || { \
		echo "Error: docker is required." >&2; \
		exit 1; \
	}
	@docker compose version >/dev/null 2>&1 || { \
		echo "Error: the Docker Compose plugin is required." >&2; \
		exit 1; \
	}
