#!/usr/bin/make -f

DEB_HOST_ARCH_ENDIAN ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_ENDIAN)

# export DH_VERBOSE = 1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all reproducible=+all
# export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
# export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O2

EXTRA_CMAKE_ARGS = -DBUILD_TESTING=OFF -DBUILD_HYPRTESTER=OFF

ifeq ($(DEB_HOST_ARCH_ENDIAN),big)
    EXTRA_CMAKE_ARGS += -DNO_HYPRPM=1
endif

include /usr/share/dpkg/buildflags.mk


%:
	dh $@ --buildsystem=cmake

override_dh_auto_configure:
	dh_auto_configure -- $(EXTRA_CMAKE_ARGS)

override_dh_dwz:
	dh_dwz -XHyprland # Skipping dwz, compression not beneficial on Hyprland

debian/dumpabiver: debian/dumpabiver.cpp
	$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) \
		-I. \
		-std=c++23 \
		-o $@ \
		debian/dumpabiver.cpp \
		./src/helpers/Color.cpp \
		./src/helpers/env/Env.cpp \
		./src/debug/log/Logger.cpp \
		$(shell pkg-config --cflags --libs hyprutils) \
		$(shell pkg-config --cflags --libs hyprgraphics) \
		$(shell pkg-config --cflags --libs aquamarine) \
		$(shell pkg-config --cflags --libs pixman-1) \
		$(shell pkg-config --cflags --libs libcrypto)

debian/debian-abi-helper: debian/dumpabiver
	$< > $@

override_dh_install: debian/debian-abi-helper
	dh_install

override_dh_gencontrol:
	. debian/debian-abi-helper && \
	dh_gencontrol -- \
		"-Vhyprland:Provides=$${HYPRLAND_ABI}, $${HYPRLAND_API}"
