#!/usr/bin/make -f
export QT_SELECT=6
export QMAKE=/usr/bin/qmake6
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export USE_FEEDBACK_MENU_ACTION=1
#export USE_SET_ICON_GEOMETRY=1
export NODE_OPTIONS="--max-old-space-size=8192"

# 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_configure:
	# 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
	/usr/bin/qmake6 -makefile \
		QMAKE_CFLAGS_RELEASE="$(CFLAGS)" \
		QMAKE_CFLAGS_DEBUG="$(CFLAGS)" \
		QMAKE_CXXFLAGS_RELEASE="$(CXXFLAGS)" \
		QMAKE_CXXFLAGS_DEBUG="$(CXXFLAGS)" \
		QMAKE_LFLAGS_RELEASE="$(LDFLAGS)" \
		QMAKE_LFLAGS_DEBUG="$(LDFLAGS)" \
		PREFIX=/usr

override_dh_auto_build:
	echo $(CXXFLAGS)
	g++ -o $(CURDIR)/debian/upgrade-utils/desktop-grid/config-parser/paser/meta-conf-parser -DQT_NO_DEBUG_OUTPUT -fPIC $(CXXFLAGS) $(CURDIR)/debian/upgrade-utils/desktop-grid/config-parser/paser/main.cpp `pkg-config --cflags --libs Qt6Core gio-2.0`
	gcc -o $(CURDIR)/debian/upgrade-utils/desktop-grid/meta-get $(CFLAGS) -I$(CURDIR)/debian/upgrade-utils/desktop-grid $(CURDIR)/debian/upgrade-utils/desktop-grid/meta-get.c $(CURDIR)/debian/upgrade-utils/desktop-grid/metatree.c $(CURDIR)/debian/upgrade-utils/desktop-grid/metabuilder.c $(CURDIR)/debian/upgrade-utils/desktop-grid/crc32.c `pkg-config --cflags --libs gio-2.0`
	gcc -o $(CURDIR)/debian/upgrade-utils/desktop-grid/meta-set $(CFLAGS) -I$(CURDIR)/debian/upgrade-utils/desktop-grid $(CURDIR)/debian/upgrade-utils/desktop-grid/meta-set.c $(CURDIR)/debian/upgrade-utils/desktop-grid/metatree.c $(CURDIR)/debian/upgrade-utils/desktop-grid/metabuilder.c $(CURDIR)/debian/upgrade-utils/desktop-grid/crc32.c `pkg-config --cflags --libs gio-2.0`
	dh_auto_build

override_dh_clean:
	dh_clean
	rm -f $(CURDIR)/debian/upgrade-utils/desktop-grid/meta-get
	rm -f $(CURDIR)/debian/upgrade-utils/desktop-grid/meta-set
	rm -f $(CURDIR)/debian/upgrade-utils/desktop-grid/config-parser/paser/meta-conf-parser
	rm -rf $(CURDIR)/debian/qmake-env
