#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
    CFLAGS += -O0
else

DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
OPTI_FLAGS_LIBONLY := -fomit-frame-pointer -falign-functions=0 -falign-jumps=0 -falign-loops=0
### PICCORO optimizer flags for i386 x86 machines
ifeq ($(DEB_HOST_ARCH),i386)
    OPTI_FLAGS_LIBONLY += -march=i686 -mtune=generic -mmmx -msse
else
ifeq ($(DEB_HOST_ARCH),i486)
    OPTI_FLAGS_LIBONLY += -march=i686 -mtune=generic -mmmx -msse
endif
endif

ifeq ($(DEB_HOST_ARCH),amd64)
    OPTI_FLAGS_LIBONLY += -mmmx -msse -msse2
endif

CFLAGS= -Os $(OPTI_FLAGS_LIBONLY)
export CFLAGS= -Os $(OPTI_FLAGS_LIBONLY)

CPPFLAGS= -Os $(OPTI_FLAGS_LIBONLY)
export CPPFLAGS= -Os $(OPTI_FLAGS_LIBONLY)

endif

CFLAGS += $(CPPFLAGS)
CXXFLAGS += $(CPPFLAGS)

export DEB_BUILD_MAINT_OPTIONS = hardening=-all,+format

%:
	dh $@ --parallel --with autoreconf

binary binary-arch: debian/libunwind-setjmp0.preinst debian/libunwind-setjmp0.postrm

debian/libunwind-setjmp0.%: debian/libunwind-setjmp0.%.in
	$(if $(DEB_HOST_MULTIARCH),:,$(error DEB_HOST_MULTIARCH is not defined))
	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $< > $@

override_dh_auto_configure:
	dh_auto_configure -- --with-pic --enable-cxx-exceptions

override_dh_install:
	dh_install
	for d in libunwind8 libunwind-dev ; do \
	  find "debian/$$d/usr/lib" -name "libunwind*-setjmp*" -delete ; \
	done

override_dh_installchangelogs:
	dh_installchangelogs ChangeLog

override_dh_auto_test:
ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
	-$(MAKE) check
endif # nocheck

override_dh_strip:
	dh_strip -plibunwind8 --dbg-package=libunwind8-dbg
	dh_strip -plibunwind-setjmp0 --dbg-package=libunwind-setjmp0-dbg

get-orig-source:
	uscan --verbose --force-download --rename --repack --destdir=..

.PHONY: override_dh_auto_configure override_dh_install override_dh_installchangelogs override_dh_strip get-orig-source

