#!/usr/bin/make -f
DEB_DEBIAN_DIR=$(dir $(firstword $(MAKEFILE_LIST)))
DEB_UPSTREAM_VERSION=$(shell dpkg-parsechangelog -l$(DEB_DEBIAN_DIR)/changelog | sed -rne 's,^Version: ([^+]+).*,\1,p')

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
DEBUG_SUPPORT=0
EXTRA_FLAGS=--with-sysmagic --with-syszip --with-syscapstone --with-libversion=1.6

DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

ifeq (arm,$(DEB_HOST_ARCH_CPU))
DEBUG_SUPPORT=1
endif

# currently broken
#ifeq (arm64,$(DEB_HOST_ARCH_CPU))
#DEBUG_SUPPORT=1
#endif

ifeq (i386,$(DEB_HOST_ARCH_CPU))
DEBUG_SUPPORT=1
endif

ifeq (amd64,$(DEB_HOST_ARCH_CPU))
DEBUG_SUPPORT=1
endif

ifeq (mips,$(DEB_HOST_ARCH_CPU))
DEBUG_SUPPORT=1
endif

ifeq (mips64,$(DEB_HOST_ARCH_CPU))
DEBUG_SUPPORT=1
endif

ifeq (powerpc,$(DEB_HOST_ARCH_CPU))
DEBUG_SUPPORT=1
endif

ifeq (ppc64,$(DEB_HOST_ARCH_CPU))
DEBUG_SUPPORT=1
endif

ifneq (linux,$(DEB_HOST_ARCH_OS))
DEBUG_SUPPORT=0
endif

ifeq (0,$(DEBUG_SUPPORT))
EXTRA_FLAGS+=--disable-debugger
endif

%:
	dh $@

override_dh_auto_configure:
	./configure --prefix=/usr --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) ${EXTRA_FLAGS}
	# add version to soname
	echo "HAVE_LIBVERSION=1" >> config-user.mk

override_dh_makeshlibs:
	dh_makeshlibs --exclude=/usr/lib/$(DEB_HOST_MULTIARCH)/radare2/

override_dh_auto_install:
	dh_auto_install
	# No need to install Makefile
	rm debian/tmp/usr/share/radare2/last/cons/Makefile
	# remove "last" symlink
	rm debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/radare2/last
	rm debian/tmp/usr/share/radare2/last
	# remove useless license file
	rm debian/tmp/usr/share/doc/radare2/license

override_dh_install:
	dh_install --fail-missing

override_dh_auto_clean:
	touch config-user.mk libr/config.mk
	-dh_auto_clean
	rm -f config-user.mk libr/config.mk

get-orig-source:
	uscan --noconf --force-download --download-current-version --rename --destdir=. $(DEB_DEBIAN_DIR)/..
	# remove old directory
	rm -rf radare2-$(DEB_UPSTREAM_VERSION)
	# extract downloaded tarball
	tar -xf radare2_$(DEB_UPSTREAM_VERSION).orig.tar.gz
	# remove downloaded tarball
	rm radare2_$(DEB_UPSTREAM_VERSION).orig.tar.gz
	# remove web stuff (contains prebuilt javascript libs without src)
	rm -rf radare2-$(DEB_UPSTREAM_VERSION)/shlr/www/*
	echo "radare2 source usually comes with a pre-built version of the web-interface." >> radare2-$(DEB_UPSTREAM_VERSION)/shlr/www/README.Debian
	echo "This has been removed in the Debian package to follow the Debian Free Software" >> radare2-$(DEB_UPSTREAM_VERSION)/shlr/www/README.Debian
	echo "Guidelines. Consider installing the web-interface using the extra repository" >> radare2-$(DEB_UPSTREAM_VERSION)/shlr/www/README.Debian
	echo "available under https://github.com/radare/radare2-webui" >> radare2-$(DEB_UPSTREAM_VERSION)/shlr/www/README.Debian
	# create new tarball
	XZ_OPT=--best tar -cJ --owner root --group root --mode a+rX -f \
		radare2_$(DEB_UPSTREAM_VERSION)+dfsg.orig.tar.xz \
		radare2-$(DEB_UPSTREAM_VERSION)
	# remove extracted tarball
	rm -rf radare2-$(DEB_UPSTREAM_VERSION)
