# SPDX-License-Identifier: GPL-2.0-only

PREFIX ?= /usr
BINDIR ?= $(PREFIX)/bin
DATADIR ?= $(PREFIX)/share
SYSCONFDIR ?= /etc
DESTDIR ?=
INSTALL ?= install

TEST_TIMEOUT = 60
TESTS = $(notdir $(wildcard tests/*_test))
PARALLELISM != nproc 2>/dev/null || echo 1

.PHONY: check clean install

tests/Kyuafile: Makefile $(addprefix tests/,$(TESTS))
	echo "syntax(2)" > $@
	echo "test_suite('aports-build')" >> $@
	for i in $(TESTS); do \
		echo "atf_test_program{name='$$i',timeout=$(TEST_TIMEOUT)}" >> $@; \
	done

check: tests/Kyuafile
	mkdir -p tests/.home/.kyua/store tests/.home/.kyua/logs
	HOME=$(CURDIR)/tests/.home kyua --variable parallelism=$(PARALLELISM) test -k tests/Kyuafile || \
		(HOME=$(CURDIR)/tests/.home kyua report --verbose && exit 1)

clean:
	rm -rf tests/Kyuafile tests/.home

install:
	$(INSTALL) -Dm755 aports-build "$(DESTDIR)$(BINDIR)/aports-build"
	$(INSTALL) -Dm644 mqtt-exec.aports-build.confd "$(DESTDIR)$(SYSCONFDIR)/conf.d/mqtt-exec.aports-build"
	$(INSTALL) -Dm644 report-build-errors.lua "$(DESTDIR)$(DATADIR)/buildrepo/plugins/report-build-errors.lua"
	$(INSTALL) -Dm644 COPYING "$(DESTDIR)$(DATADIR)/licenses/aports-build/COPYING"
	$(INSTALL) -d "$(DESTDIR)$(SYSCONFDIR)/init.d"
	ln -sf mqtt-exec "$(DESTDIR)$(SYSCONFDIR)/init.d/mqtt-exec.aports-build"
