#!/usr/bin/make -f

# resolve DEB_VERSION
include /usr/share/dpkg/pkg-info.mk

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

MODULES = \
 nanoid \
 undici-types \
 vscode-jsonrpc \
 vscode-languageserver \
 vscode-languageserver-protocol \
 vscode-languageserver-textdocument \
 vscode-languageserver-types

TYPES = \
 node

%:
	dh $@

%.html: %.md
	cmark-gfm $< > $@

%.txt: %.md
	cmark-gfm --to plaintext $< > $@

override_dh_clean:
	dh_clean -- $(DOCS) $(CHANGELOGS)

execute_before_dh_auto_configure:
	mkdir -p node_modules/@types
	cp --force --recursive --target node_modules $(addprefix /usr/share/nodejs/,$(MODULES))
	cp --force --recursive --target node_modules/@types $(addprefix /usr/share/nodejs/@types/,$(TYPES))

override_dh_auto_build:
	tsc --build --verbose --force server

execute_after_dh_auto_build: $(DOCS) $(CHANGELOGS) $(MANPAGES)

override_dh_auto_test:
	prove -v

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

override_dh_installchangelogs:
	dh_installchangelogs -- $(CHANGELOGS)

# unset bogus executable bits
execute_after_dh_fixperms:
	chmod --recursive a-x,a+X -- debian/*/usr/share/nodejs
	chmod --recursive a+x -- debian/*/usr/share/nodejs/perlnavigator-server/out/server.js

override_dh_gencontrol:
	dh_gencontrol -- -V"server:Version=$(shell jq --raw-output .version < server/package.json)+~$(DEB_VERSION)"
