#!/usr/bin/make -f

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

ESLINT = NO_COLOR=1 eslint
JEST = jest --color=false
MOCHA = NO_COLOR=1 mocha --no-timeout --no-color
# normalize output with TAP where possible unless terse requested
ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
ESLINT += --format tap
MOCHA += --reporter tap
else
ESLINT += --format unix
MOCHA += --reporter dot
endif

JS_STEMS = sdp

%:
	dh $@

# optimize JavaScript for browser use
# * include source-map
%.min.js: %.js
	uglifyjs --compress --mangle \
		--source-map "base='$(abspath $(dir $@))',url='$(notdir $@).map'" \
		--output $@ \
		-- $<

# pre-compress for browser use
%.gz: %
	pigz --force --keep -11 -- $<
	brotli --force --keep --best --suffix=.brotli -- $<

$(addprefix debian/js/,$(addsuffix .js,$(JS_STEMS))):
	install -D --mode=0644 --target-directory debian/js \
		$(addsuffix .js,$(JS_STEMS))

override_dh_auto_build: \
 $(addprefix debian/js/,$(addsuffix .min.js.gz,$(JS_STEMS)))

# build and run testsuite
# * wrap with perl TAP harness
# * check all testsuites
override_dh_auto_test:
#	cd Xh264 && $(ESLINT) -c .eslintrc.js index.js test
	cd Xtransform && $(ESLINT) .
	$(ESLINT) sdp.js test/sdp.js
#	cd Xtransform && $(JEST)
	$(MOCHA) test/sdp.js

override_dh_gencontrol:
	dh_gencontrol -- \
		-V"transform:Version=$(shell jq --raw-output .version < Xtransform/package.json)~$(DEB_VERSION)" \
		-V"h264:Version=$(shell jq --raw-output .version < Xh264/package.json)~$(DEB_VERSION)"

.SECONDARY:
