#!/usr/bin/make -f # generate documentation unless nodoc requested ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS))) MANPAGES = debian/build/hx.1 endif export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic export DEB_CXXFLAGS_MAINT_APPEND = -Wall -pedantic # trust upstream optimization level unless explicitly disabled ifeq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) export DEB_CFLAGS_MAINT_STRIP = -O2 export DEB_CXXFLAGS_MAINT_STRIP = -O2 # match additional tunings set in build profile "opt" export RUSTFLAGS = -C lto -C codegen-units=1 endif ABI_FILE = debian/hx-plugin-dev/usr/share/hx-plugin-dev/plugin-abi # avoid network during build export HELIX_DISABLE_AUTO_GRAMMAR_BUILD = 1 %: dh $@ execute_after_dh_auto_install: $(MANPAGES) mkdir --parents debian/build cp contrib/completion/hx.zsh debian/build/_hx mkdir --parents debian/hx-plugin-dev/usr/share/hx-plugin-dev find languages.toml runtime/queries -type f -exec sha256sum {} + \ | perl -anle 'push@r,"$$F[1]\n$$F[0]\n";END{print sort@r}' \ | sha256sum \ | perl -nE 'say "hx-plugin-abi-$$1" if /^([0-9a-f]{16})/' \ > $(ABI_FILE) # build manpages # set XDG_CACHE_HOME to make build reproducible (bug#1100016) debian/build/hx.1: XDG_CACHE_HOME = /home/\$USER/.cache debian/build/hx.1: debian/build/%.1: debian/hx/usr/bin/% mkdir --parents debian/build help2man --section 1 --no-info \ --name "efficient command-line modal text-editor" \ --output $@ $< \ || { $1 --help; false; } override_dh_gencontrol: dh_gencontrol -phx -- -V'hx:PluginAbi=$(shell cat $(ABI_FILE))' dh_gencontrol --remaining-packages