#!/usr/bin/make -f
## -*- makefile -*-

export DEB_BUILD_MAINT_OPTIONS=hardening=+all
export QT_SELECT=qt6
export LC_ALL=C.UTF-8

## Out-of-source build directory per arch
BUILD_DIR = obj-$(DEB_HOST_MULTIARCH)

%:
	dh $@ --buildsystem=qmake --builddirectory=$(BUILD_DIR)

## Minimal overrides: configure, install, clean, missing
override_dh_auto_configure:
	mkdir -p $(BUILD_DIR)
	## Invoke qmake on top-level project file
	cd $(BUILD_DIR) && qmake6 $(CURDIR)/bianbu-accounts.pro

## Use default dh_auto_build (parallel); lrelease later if needed

override_dh_auto_install:
	dh_auto_install --buildsystem=qmake --builddirectory=$(BUILD_DIR) -- INSTALL_ROOT=$(CURDIR)/debian/bianbu-accounts
	## Generate missing .qm files if not built already
	set -e; LRELEASE_BIN="$(shell command -v lrelease-qt6 2>/dev/null || command -v /usr/lib/qt6/bin/lrelease 2>/dev/null || command -v lrelease 2>/dev/null)"; \
	if [ -z "$$LRELEASE_BIN" ]; then echo "[i18n] No lrelease tool found"; exit 1; fi; \
	for ts in $(CURDIR)/src/plugin/translations/bianbu-accounts_*.ts; do \
	  [ -f "$$ts" ] || continue; \
	  qm="$${ts%.ts}.qm"; \
	  if [ -f "$$qm" ]; then \
	    echo "[i18n] Skipping $$ts (QM already exists)"; \
	    continue; \
	  fi; \
	  echo "[i18n] Generating QM from $$ts using $$LRELEASE_BIN"; \
	  QT_SELECT= "$$LRELEASE_BIN" "$$ts" >/dev/null || { echo "lrelease failed for $$ts"; exit 1; }; \
	done
	## Install translations (rename to unsuffixed domain)
	set -e; \
	for f in $(CURDIR)/src/plugin/translations/bianbu-accounts_*.qm; do \
	  [ -f "$$f" ] || continue; \
	  base=$${f##*/}; \
	  lang=$${base#bianbu-accounts_}; lang=$${lang%.qm}; \
	dest="$(CURDIR)/debian/bianbu-accounts/usr/share/locale/$$lang/LC_MESSAGES"; \
	  mkdir -p "$$dest"; \
	cp -f "$$f" "$$dest/bianbu-accounts.qm"; \
	done

override_dh_auto_clean:
	## Native clean + remove build dirs
	dh_auto_clean --buildsystem=qmake --builddirectory=$(BUILD_DIR) || true
	rm -rf $(BUILD_DIR)
	rm -rf src/.obj src/.moc src/.rcc src/.ui src/plugin/.obj src/plugin/.moc src/plugin/.rcc src/plugin/.ui
	rm -f src/Makefile src/plugin/Makefile Makefile .qmake.stash

override_dh_missing:
	dh_missing --fail-missing

