#!/usr/bin/make -f STEMS = adapter adapter_no_global adapter_no_edge adapter_no_edge_no_global DOCS = README.md # concatenate for browsers using browserify-lite _mkweb = mkdir --parents out && NODE_PATH=.:/usr/lib/nodejs \ browserify-lite $(patsubst %,--standalone %,$3) --outfile $2 $1 %: dh $@ # optimize JavaScript for browser use # TODO: include source-map when supported by concatenation debian/js/%.min.js: debian/js/%.js mkdir --parents debian/js uglifyjs --compress --mangle \ --output $@ \ -- $< # pre-compress for browser use %.gz: % pigz --force --keep -11 -- $< brotli --force --keep --best -- $< override_dh_auto_build: $(patsubst %,debian/js/%.min.js.gz,$(STEMS)) # build browser libraries dist/adapter_core5.js: src/js/adapter_core5.js grunt babel dist_x/adapter_core5.js: dist/adapter_core5.js cp --force --archive dist dist_x rm dist_x/edge/edge_shim.js sed --in-place --expression '/edge_shim/d' dist_x/adapter_factory.js out/adapter.js: dist/adapter_core5.js $(call _mkweb, $<, $@, adapter) out/adapter_no_global.js: dist/adapter_core5.js $(call _mkweb, $<, $@) out/adapter_no_edge.js: dist_x/adapter_core5.js $(call _mkweb, $<, $@, adapter) out/adapter_no_edge_no_global.js: dist_x/adapter_core5.js $(call _mkweb, $<, $@) $(patsubst %,debian/js/%.js,$(STEMS)): debian/js/%.js: out/%.js mkdir --parents debian/js cp --force --target-directory debian/js $< override_dh_installdocs: dh_installdocs --all -- $(DOCS) .SECONDARY: