#!/usr/bin/make -f

export DH_VERBOSE=1

export DEB_CFLAGS_MAINT_APPEND  = -Wall -Os
export DEB_CPPFLAGS_MAINT_APPEND  = -Wall -Os

# Make sure lintian does not complain about missing hardenings.
export DEB_BUILD_MAINT_OPTIONS=hardening=+all

# Make sure the decades-old source code gets compiled by allowing implicit
# function declarations and, for gcc-14 and above, by downgrading the
# diagnostics applied by the compiler. See
# https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc/Warning-Options.html
# for further details.
export DEB_CFLAGS_MAINT_STRIP=-Werror=implicit-function-declaration
cc_major := $(shell $(CC) --version | head -n1 | cut -d' ' -f4 | cut -d. -f1)
cc_major_ge_14 := $(shell [ $(cc_major) -ge 14 ] && echo 'true')
export DEB_CFLAGS_MAINT_APPEND=$(if $(cc_major_ge_14),-fpermissive)


include /usr/share/dpkg/architecture.mk
export LIBDIR = /usr/lib/$(DEB_HOST_MULTIARCH)
export INCLUDEDIR = /usr/include/$(DEB_HOST_MULTIARCH)

CONFIGURE_FLAGS = --prefix=/usr \
    --bindir=$(LIBDIR)/opennx/bin \
    --includedir=$(INCLUDEDIR)

CONFIGURE_FLAGS_2 = --datadir=/usr/share/opennx --localedir=/usr/share/locale

%:
	dh $@ --with autoreconf

override_dh_auto_configure:
	./configure $(CONFIGURE_FLAGS) $(CONFIGURE_FLAGS_2)
	./getnxsrcpkg
	cd nxssh && autoreconf -fi && ./configure $(CONFIGURE_FLAGS)

override_dh_auto_build:
	dh_auto_build
	cd nxssh && $(MAKE)

override_dh_auto_install:
	dh_auto_install
	install -c nxssh/nxssh debian/opennx$(LIBDIR)/opennx/bin
	sed -i -e 's/\/usr\/NX/\/usr\/lib\/'$(DEB_HOST_MULTIARCH)'\/opennx/g' \
	  debian/opennx/usr/share/opennx/applnk/xdg/*.desktop
	install -d debian/opennx$(LIBDIR)/opennx/lib
	cd debian/opennx$(LIBDIR)/opennx && \
	  ln -s lib lib64
	install -d debian/opennx/usr/bin
	cd debian/opennx/usr/bin && \
	  ln -s ../lib/$(DEB_HOST_MULTIARCH)/opennx/bin/opennx opennx

override_dh_auto_clean:
	dh_auto_clean
	rm -rf nxssh
