#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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

LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS)
LIBDIR := /usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

%:
	dh $@ --parallel --with=systemd

override_dh_auto_configure:
	CXXFLAGS="$(CXXFLAGS)" ./waf configure --without-pch --prefix=/usr --sysconfdir=/etc --localstatedir=/var --boost-libs="$(LIBDIR)"

override_dh_auto_build:
	./waf build

override_dh_auto_install:
	./waf install --destdir=debian/tmp

override_dh_auto_clean:
	./waf distclean

override_dh_clean:
	dh_clean
	./waf distclean
	rm -rf .waf-1*
	rm -f .waf-tools/*.pyc
	rm -f docs/*.pyc
	rm -rf .waf-tools/__pycache__
	rm -rf docs/__pycache__

override_dh_auto_test:

override_dh_systemd_enable:
	dh_systemd_enable -pnfd
	dh_systemd_enable -pnfd-status-http-server
	dh_systemd_enable -pndn-autoconfig-server --no-enable
	dh_systemd_enable -pndn-autoconfig-client --no-enable
	dh_systemd_enable -pnfd-autoreg --no-enable

override_dh_systemd_start:
	dh_systemd_start -pnfd
	dh_systemd_start -pnfd-status-http-server
	dh_systemd_start -pndn-autoconfig-server --no-start
	dh_systemd_start -pndn-autoconfig-client --no-start
	dh_systemd_start -pnfd-autoreg --no-start

.PHONY: override_dh_strip
override_dh_strip:
	dh_strip --dbg-package=nfd-dbg
