#!/usr/bin/make -f

include /usr/share/dpkg/pkg-info.mk

# detect if build targets experimental suite (or is a draft)
DEB_SUITE_EXP = $(filter experimental% UNRELEASED,$(DEB_DISTRIBUTION))

# generate documentation unless nodoc requested
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
DOCS = INITIALIZER.html INITIALIZER.txt README.html README.txt
endif

override_dh_auto_build: debian/js/json-document.min.js.gz $(DOCS)

# build and run testsuite
# * wrap with perl TAP harness
override_dh_auto_test:
	NODE_ENV=test prove --verbose \
		--exec "mocha --reporter=tap" \
		$(filter-out test/JSONSchemaTestSuite.js,\
			$(wildcard test/*.js test/*/*.js)) \
		$(if $(DEB_SUITE_EXP),|| true)

override_dh_installdocs:
	dh_installdocs --all -- $(DOCS)

debian/js/%.min.js:
	babeljs src -d lib
	webpack -d --output-filename json-document.js
	webpack -p
	install --mode a=r,u+w -D --target-directory debian/js \
		-- dist/*

%.gz: %
	pigz --force --keep -11 -- $<
	brotli --force --keep --best -- $<

%.html: %.md
	pandoc --from gfm-raw_html --to html --standalone --output $@ $<

%.txt: %.md
	pandoc --from gfm-raw_html --to plain --output $@ $<

%:
	dh $@

.SECONDARY:
