#!/usr/bin/make -f

%:
	dh $@

# build minified browser library
# * include source-map
# * include pre-compressed gzip and brotli files
%.min.js: %.js
	uglifyjs --compress --mangle \
		--source-map \
		--output $@ \
		$<
ifeq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
	pigz --force --keep -11 -- $@ $*.min.js.map
	brotli --force --keep --best -- $@ $*.min.js.map
endif

tmpdir.stamp:
	mktemp -d > tmpdir.stamp

builddir.stamp: tmpdir.stamp
	rsync -av --exclude .pc --exclude .git --exclude debian $(CURDIR)/ $$(cat tmpdir.stamp)/

override_dh_auto_build: builddir.stamp
	cd $$(cat tmpdir.stamp) && rollup -c
	cd $$(cat tmpdir.stamp) && rollup -f commonjs -o underscore-esm.cjs underscore-esm.js
	cd $$(cat tmpdir.stamp) && rollup -c rollup.config2.js
	rsync -av $$(cat tmpdir.stamp)/ $(CURDIR)/
	terser underscore-umd.js -c evaluate=false --comments '/    .*/' -m \
		--source-map content=underscore-umd.js.map \
		-o underscore-umd-min.js
	terser underscore-esm.js -c evaluate=false --comments '/    .*/' -m \
		--source-map content=underscore-esm.js.map \
		-o underscore-esm-min.js
	mv underscore-umd.js underscore.js
	mv underscore-umd-min.js underscore-min.js
	mv underscore-umd.js.map underscore.js.map
	mv underscore-umd-min.js.map underscore-min.js.map
	ln -s underscore-min.js underscore.min.js
	ln -s underscore.js underscore-umd.js
	ln -s underscore-min.js underscore-umd-min.js
	ln -s underscore.js.map underscore-umd.js.map
	ln -s underscore-min.js.map underscore-umd-min.js.map
	ln -s underscore-min.js.map underscore.min.js.map

override_dh_install:
	dh_install
	rm -f debian/node-underscore/usr/share/nodejs/underscore/underscore.js
	rm -f debian/node-underscore/usr/share/nodejs/underscore/underscore-min.js
	rm -f debian/node-underscore/usr/share/nodejs/underscore/underscore-min.js.map
	rm -f debian/node-underscore/usr/share/nodejs/underscore/underscore.js.map
	ln -s ../../javascript/underscore/underscore.js debian/node-underscore/usr/share/nodejs/underscore/underscore.js
	ln -s ../../javascript/underscore/underscore-min.js debian/node-underscore/usr/share/nodejs/underscore/underscore-min.js
	ln -s ../../javascript/underscore/underscore.js.map debian/node-underscore/usr/share/nodejs/underscore/underscore.js.map
	ln -s ../../javascript/underscore/underscore-min.js.map debian/node-underscore/usr/share/nodejs/underscore/underscore-min.js.map

# install core documentation with all binary packages
override_dh_installdocs:
	dh_installdocs  --link-doc=libjs-underscore -- README.md index.html

override_dh_auto_clean:
	if test -e tmpdir.stamp; then rm -rf "$$(cat tmpdir.stamp)" && rm -f tmpdir.stamp; else true; fi
	rm -f builddir.stamp
	dh_auto_clean
