#!/usr/bin/make -f
#export DH_VERBOSE = 1

include /usr/share/dpkg/pkg-info.mk
include /usr/share/dpkg/architecture.mk
include /usr/share/dpkg/buildflags.mk
include /usr/share/rustc/architecture.mk

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -lminizip

export CARGO=/usr/share/cargo/bin/cargo
export CARGO_HOME=$(shell pwd)/debian/cargo_home
export DEB_CARGO_CRATE=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM)

export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE

ifeq (armhf, $(DEB_HOST_ARCH))
        export DEB_CFLAGS_MAINT_APPEND = -mfpu=vfpv3-d16
endif

ifeq (i386, $(DEB_HOST_ARCH))
	export DEB_CFLAGS_MAINT_APPEND = -mssse3
endif

lipython-version=$(shell python3 --version | cut -d ' ' -f 2 | cut -d '.' -f 1,2)

MAKEFILE_VARIABLES = PREFIX=/usr COMPTIME=$(SOURCE_DATE_EPOCH) USE_SYSTEM_XXHASH=1 USE_SYSTEM_OPENCL=1 USE_SYSTEM_ZLIB=1 ENABLE_UNRAR=0 MAINTAINER_MODE=1

%:
	dh $@

execute_after_dh_auto_clean:
	if [ -f Rust/generic_hash/Cargo.lock.orig ] ; then \
		mv Rust/generic_hash/Cargo.lock.orig Rust/generic_hash/Cargo.lock ;\
	fi
	rm -rf src/rust/target
	rm -rf debian/cargo_registry

override_dh_auto_configure:
	$(CARGO) prepare-debian debian/cargo_registry --link-from-system
	mkdir -p src/rust/target/release
	mv Rust/generic_hash/Cargo.lock Rust/generic_hash/Cargo.lock.orig
	# needed because we patch Cargo.toml
	cd Rust/generic_hash && cargo generate-lockfile --offline

override_dh_auto_build:
	dh_auto_build -- $(MAKEFILE_VARIABLES)

override_dh_auto_install:
	dh_auto_install -- INSTALL="install" $(MAKEFILE_VARIABLES)

override_dh_install:
	rm -f debian/tmp/usr/share/doc/hashcat/docs/changes.txt
	rm -f debian/tmp/usr/share/doc/hashcat/docs/license.txt
	dh_install

override_dh_installchangelogs:
	dh_installchangelogs docs/changes.txt

override_dh_fixperms-indep:
	dh_fixperms
	chmod 644 debian/hashcat-data/usr/share/doc/hashcat-data/examples/example0.sh
	chmod 644 debian/hashcat-data/usr/share/doc/hashcat-data/examples/example400.sh
	chmod 644 debian/hashcat-data/usr/share/doc/hashcat-data/examples/example500.sh

override_dh_gencontrol:
	dh_gencontrol -- -Vlibpython:Depends="libpython$(lipython-version)"
