#!/usr/bin/make -f

#export DH_VERBOSE = 1
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export QT_SELECT := qt6
#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
QT_INSTALL_DIR:=$(shell pwd)/debian/tmp/
LOG4QT_BUILD_DIR:=$(shell pwd)/src/log4qt/build

# Workaround for Ubuntu 26.04 Qt6 packaging issue:
# Export a custom QMAKEPATH so qmake reads our injected dummy module first.
export QMAKEPATH=$(CURDIR)/debian/qmake-env

%:
	dh $@

override_dh_auto_clean:
	dh_auto_clean
	rm -fr $(LOG4QT_BUILD_DIR)
	rm -rf debian/qmake-env

override_dh_install:
	mkdir -p $(QT_INSTALL_DIR) && \
	make install INSTALL_ROOT=$(QT_INSTALL_DIR) -C $(LOG4QT_BUILD_DIR)
	dh_install
	sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'`

override_dh_auto_configure:
	./autogen.sh
	dh_auto_configure -- \
		--includedir=/usr/include/ukuisdk --bindir=/usr/libexec

override_dh_auto_build:
	dh_auto_build
	# Create a temporary mkspecs directory to inject missing Qt6 module definitions.
	mkdir -p debian/qmake-env/mkspecs/modules
	# Provide a dummy qt_lib_libatomic.pri to fix the "Library 'libatomic' is not defined"
	# error caused by missing definitions in Ubuntu's qt6-base-dev package.
	echo "QMAKE_LIBS_LIBATOMIC = -latomic" > debian/qmake-env/mkspecs/modules/qt_lib_libatomic.pri
	mkdir -p $(LOG4QT_BUILD_DIR)
	cd $(LOG4QT_BUILD_DIR) && qmake6 -makefile "QMAKE_CFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=$(LOG4QT_BUILD_DIR)=. \
		-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" \
		"QMAKE_CFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=$(LOG4QT_BUILD_DIR)=. -fstack-protector-strong \
		-Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" \
		"QMAKE_CXXFLAGS_RELEASE=-g -O2 -fdebug-prefix-map=$(LOG4QT_BUILD_DIR)=. -fstack-protector-strong \
		-Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" \
		"QMAKE_CXXFLAGS_DEBUG=-g -O2 -fdebug-prefix-map=$(LOG4QT_BUILD_DIR)=. \
		-fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" \
		"QMAKE_LFLAGS_RELEASE=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now" \
		"QMAKE_LFLAGS_DEBUG=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now" QMAKE_STRIP=: PREFIX=/usr ..
	make -C $(LOG4QT_BUILD_DIR)
