DOCKER_ARGS ?=
W3AF_COMMAND ?=
LIGHTHOUSE_COMMAND ?=
LIGHTHOUSE_URL ?=
PA11Y_URL ?=
PA11Y_REPORTER ?=

image-w3af:
	docker build \
		--build-arg=HTTP_PROXY=$(HTTP_PROXY) \
		--build-arg=HTTPS_PROXY=$(HTTPS_PROXY) \
		--build-arg=http_proxy=$(http_proxy) \
		--build-arg=https_proxy=$(https_proxy) \
		-t jenkins-w3af \
		./resources/com/cadoles/w3af

interactive-w3af:
	$(MAKE) W3AF_COMMAND="/bin/sh" w3af

audit-w3af:
	$(MAKE) W3AF_COMMAND="/usr/local/bin/run-audit" w3af

w3af:
	docker run \
		-it --rm \
		--net host \
		-v "$(PWD)/resources/com/cadoles/w3af/audit.w3af.tmpl:/home/w3af/w3af/audit.w3af.tmpl:ro" \
		$(DOCKER_ARGS) \
		jenkins-w3af:latest \
		$(W3AF_COMMAND)

image-lighthouse:
	docker build \
		--build-arg=HTTP_PROXY=$(HTTP_PROXY) \
		--build-arg=HTTPS_PROXY=$(HTTPS_PROXY) \
		--build-arg=http_proxy=$(http_proxy) \
		--build-arg=https_proxy=$(https_proxy) \
		-t jenkins-lighthouse \
		./resources/com/cadoles/lighthouse

interactive-lighthouse:
	$(MAKE) LIGHTHOUSE_COMMAND="/bin/sh" lighthouse

audit-lighthouse:
	$(MAKE) LIGHTHOUSE_COMMAND="/usr/local/bin/run-audit" lighthouse

lighthouse:
	mkdir -p "$(PWD)/data/lighthouse/reports"
	docker run \
		-it --rm \
		--net host \
		--cap-add=SYS_ADMIN \
		-e HTTP_PROXY=$(HTTP_PROXY) \
		-e HTTPS_PROXY=$(HTTPS_PROXY) \
		-e http_proxy=$(http_proxy) \
		-e https_proxy=$(https_proxy) \
		-e LIGHTHOUSE_URL='$(LIGHTHOUSE_URL)' \
		-u $(shell id -u $(USER)):$(shell id -g $(USER)) \
		-v "$(PWD)/data/lighthouse/reports:/home/lighthouse/reports" \
		$(DOCKER_ARGS) \
		jenkins-lighthouse:latest \
		$(LIGHTHOUSE_COMMAND)

pa11y:
	mkdir -p "$(PWD)/data/pa11y/reports"
	docker run \
		-it --rm \
		--net host \
		--cap-add=SYS_ADMIN \
		-e HTTP_PROXY=$(HTTP_PROXY) \
		-e HTTPS_PROXY=$(HTTPS_PROXY) \
		-e http_proxy=$(http_proxy) \
		-e https_proxy=$(https_proxy) \
		-e PA11Y_URL='$(PA11Y_URL)' \
		-e PA11Y_REPORTER='$(PA11Y_REPORTER)' \
		-u $(shell id -u $(USER)):$(shell id -g $(USER)) \
		-v "$(PWD)/data/pa11y/reports:/home/pa11y/reports" \
		$(DOCKER_ARGS) \
		jenkins-pa11y:latest \
		$(PA11Y_COMMAND)

image-pa11y:
	docker build \
		--build-arg=HTTP_PROXY=$(HTTP_PROXY) \
		--build-arg=HTTPS_PROXY=$(HTTPS_PROXY) \
		--build-arg=http_proxy=$(http_proxy) \
		--build-arg=https_proxy=$(https_proxy) \
		-t jenkins-pa11y \
		./resources/com/cadoles/pa11y

interactive-pa11y:
	$(MAKE) PA11Y_COMMAND="/bin/sh" pa11y

audit-pa11y:
	$(MAKE) PA11Y_COMMAND="/usr/local/bin/run-audit" pa11y

.PHONY: image-w3af image-lighthouse