#!/usr/bin/make -f
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1

# see FEATURE AREAS in dpkg-buildflags(1)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
# package maintainers to append LDFLAGS
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

# Retrieve architecture-related variables
include /usr/share/dpkg/architecture.mk

CPPFLAGS :=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS   :=$(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS :=$(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS  :=$(shell dpkg-buildflags --get LDFLAGS)

export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS

ifeq (,$(filter $(DEB_BUILD_ARCH),kfreebsd-amd64 kfreebsd-i386 hurd-i386))
    DISABLE_PTHREADS=OFF
else
    DISABLE_PTHREADS=ON
endif

override_dh_auto_configure:
	dh_testdir
	dh_auto_configure --builddirectory=build-static -- -DCMAKE_INSTALL_PREFIX=/usr \
				 -DLIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH) \
				 -DYAML_CPP_BUILD_TOOLS=ON \
				 -Dgtest_disable_pthreads=$(DISABLE_PTHREADS)
	dh_auto_configure --builddirectory=build-shared -- -DCMAKE_INSTALL_PREFIX=/usr \
				 -DLIB_INSTALL_DIR=/usr/lib/$(DEB_HOST_MULTIARCH) \
				 -DBUILD_SHARED_LIBS=ON \
				 -DYAML_CPP_BUILD_TOOLS=ON \
				 -Dgtest_disable_pthreads=$(DISABLE_PTHREADS)

override_dh_auto_build:
	dh_testdir
	$(MAKE) -C build-static
	$(MAKE) -C build-shared
	# It might make sense to also provide the utils in a separate package
	# $(MAKE) -C build-shared util

override_dh_auto_install:
	dh_testdir
	dh_prep
	$(MAKE) -C build-static install DESTDIR=$(CURDIR)/debian/tmp
	$(MAKE) -C build-shared install DESTDIR=$(CURDIR)/debian/tmp

ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
override_dh_auto_test:
	$(MAKE) -C build-static test
	$(MAKE) -C build-shared test
endif

override_dh_missing:
	dh_missing --fail-missing

clean:
	dh_testdir
	dh_auto_clean
	dh_clean
	rm -rf build-static build-shared

%:
	dh $@

.PHONY: clean
