#!/usr/bin/make -f

#export DH_VERBOSE=1

DEB_HOST_ARCH  := $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)

SOURCE := $(shell dpkg-parsechangelog | sed -ne 's,^Source: *\(.*\)$$,\1,p')
VERSION_DEBIAN := $(shell dpkg-parsechangelog | sed -ne 's,^Version: *\(.*\)$$,\1,p')
VERSION := $(shell echo "$(VERSION_DEBIAN)" | sed -e 's,-[^-]*$$,,')

BUILD_DIR = debian/build
STAMPS_DIR = debian/stamps

stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@

$(STAMPS_DIR)/setup: SOURCE_FILES = $(filter-out debian, $(wildcard *))
$(STAMPS_DIR)/setup: DIR=$(BUILD_DIR)
$(STAMPS_DIR)/setup:
	@rm -rf $(DIR)
	mkdir $(DIR)
	cp -al $(SOURCE_FILES) $(DIR)
	cp -al debian/scripts $(DIR)
	$(stamp)

build: $(STAMPS_DIR)/setup
	make -C $(BUILD_DIR)/docs man-pages

clean:
	dh_testdir
	rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/lib/python/*/*.pyc
	dh_clean

NO_ORIG = .svn .svk debian

DIR_ORIG = ../orig/$(SOURCE)-$(VERSION)
TAR_ORIG_NAME = $(SOURCE)_$(VERSION).orig.tar.gz
TAR_ORIG = $(firstword $(wildcard ../$(TAR_ORIG_NAME)) $(wildcard ../orig/$(TAR_ORIG_NAME)))

orig: $(DIR_ORIG)
	rsync --delete $(foreach t, $(NO_ORIG), --exclude $(t)) --link-dest=$(DIR_ORIG)/ -a $(DIR_ORIG)/ .

$(DIR_ORIG):
ifeq ($(TAR_ORIG),)
	$(error Cannot find orig tarball $(TAR_ORIG_NAME))
else
	mkdir -p ../orig
	tar -C ../orig -xzf $(TAR_ORIG)
endif

maintainerclean:
	rm -rf $(filter-out $(NO_ORIG), $(wildcard * .[^.]*))

install: export DESTDIR=$(CURDIR)/debian/tmp
install:
	dh_testdir
	dh_testroot
	dh_prep
	$(MAKE) -C $(BUILD_DIR)/tools/examples install-configs
	$(MAKE) -C $(BUILD_DIR)/tools/hotplug/common install-scripts
	$(MAKE) -C $(BUILD_DIR)/tools/hotplug/Linux install-udev install-scripts UDEV_RULES_DIR=/lib/udev
	$(MAKE) -C $(BUILD_DIR)/scripts install

binary-indep: install
	dh_testdir
	dh_testroot
	dh_install --sourcedir=debian/tmp
	dh_installchangelogs
	dh_installdocs
	dh_installexamples
	dh_installinit -p xen-utils-common --name xend --no-restart-on-upgrade -- defaults 20 21
	dh_installinit -p xen-utils-common --name xendomains --no-start -- defaults 21 20
	dh_installman $(BUILD_DIR)/docs/man1/* $(BUILD_DIR)/docs/man5/*
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary-arch:

binary: build binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
