#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

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

# This is the debhelper compatability version to use.
export DH_COMPAT=2

# config variables for debian. Maybe use include conf.debian for these?
       VPATH   := $(shell pwd)
export DEBUG   := 0
export prefix  := /usr
export datadir := $(prefix)/share
export docdir  := $(datadir)/doc
export mandir  := $(datadir)/man
export localstatedir := /var
export sysconfdir    := /etc
export srcdir  := $(prefix)/src
       ARCH    := $(shell arch)
export BUILD   := $(VPATH)/debian/build
       NAME    := enbd
       VERSION := $(shell grep urgency debian/changelog | head -1 | sed -e 's/.*(\(.*\)).*/\1/' | sed -e 's/-[0-9]*$$//')
       PATCH   := 1
       PACKAGE := $(NAME)_$(VERSION)-$(PATCH)_$(ARCH).deb
export CFLAGS  := -O2 -Wall -D_LARGEFILE64_SOURCE=1 -D_GNU_SOURCE=1 \
                            -D_XOPEN_SOURCE=1 -DLARGEFILE_SOURCE=1 \
                            -D_FILE_OFFSET_BITS=64
export EXTRA_CFLAGS := -I$(BUILD) \
                       -I$(VPATH)/kernel/linux/include \
                       -DDEBUG=$(DEBUG)
       TMPDIR   := /tmp

build: build-arch build-indep
build-arch: build-arch-stamp
build-arch-stamp:
	dh_testdir -a
	# Add here commands to compile the package.
	mkdir -p $(BUILD) ; \
	export CONFIG_SITE=$(VPATH)/nbd/conf/config.$(SYSTEM); \
	cd $(BUILD);  $(VPATH)/nbd/configure \
	--srcdir=$(VPATH)/nbd  \
	--prefix=$(prefix) \
	--localstatedir=$(localstatedir) \
	--sysconfdir=$(sysconfdir) \
	--mandir=$(mandir); \
	$(MAKE) VPATH=$(VPATH)/nbd \
	        CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS)" \
	        EXTRA_LIBS="$(EXTRA_LDFLAGS) \
                        $(LIBS) \
                        $(EXTRA_LIBS)" \
	        all
	touch $@

build-indep: build-indep-stamp
build-indep-stamp:
	dh_testdir -i
	mkdir -p $(BUILD)
	touch $@

clean: clean-arch clean-indep
clean-indep:
	dh_testdir -i
	dh_testroot -i
	rm -f build-indep-stamp
	rm -fr debian/tmp debian/build/* debian/$(TMPDIR) debian/kernel-patch-enbd
	dh_clean -i

clean-arch:
	dh_testdir -a
	dh_testroot -a
	rm -f build-arch-stamp
	# Add here commands to clean up after the build process.
	-$(MAKE) -C $(BUILD) \
	     VPATH=$(VPATH)/nbd \
	     CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS)" \
	     LIBS="$(EXTRA_LDFLAGS) \
                     $(LIBS) \
                     $(EXTRA_LIBS)" \
	     clean ; \
	rm -fr debian/tmp debian/build/* debian/$(TMPDIR)
	dh_clean -a

install: install-arch install-indep
install-indep: build-indep
	dh_testdir -i
	dh_testroot -i
	dh_clean -k -i
	dh_installdirs -i
	mkdir -p debian/$(TMPDIR)/$(srcdir)
	mkdir -p debian/$(TMPDIR)/$(docdir)
	dh_installkpatches -i

install-arch: build-arch
	dh_testdir -a
	dh_testroot -a
	dh_clean -k -a
	dh_installdirs -a
	# Add here commands to install the package into debian/enbd.
	mkdir -p debian/$(TMPDIR)/$(sysconfdir) 
	mkdir -p debian/$(TMPDIR)/$(localstatedir)/state/nbd
	mkdir -p debian/$(TMPDIR)/$(mandir)
	mkdir -p debian/$(TMPDIR)/$(srcdir)
	-cp -a $(VPATH)/nbd/etc/enbd.conf debian/$(TMPDIR)/$(sysconfdir)/
	-$(MAKE)  -C $(BUILD) \
	     VPATH=$(VPATH)/nbd \
	     BUILD=$(BUILD) \
	     DESTDIR=$(VPATH)/debian/$(TMPDIR) \
             POSTINST=$(VPATH)/debian/postinst \
	     install-binary install-man install-doc
        # adjustments for debian
	rm -f $(VPATH)/debian/$(TMPDIR)/usr/share/doc/enbd/LICENCE
	mv $(VPATH)/debian/$(TMPDIR)/usr/share/doc/enbd/INSTALL $(VPATH)/debian/$(TMPDIR)/usr/share/doc/enbd/QUICK-INSTALL

# Build architecture-independent files here.
debian-binary-indep: install-indep
	dh_movefiles -i
	dh_installdocs -i
	dh_installchangelogs  -i
	dh_link -i
	dh_strip -i
	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

binary-indep:
	$(MAKE) -f debian/rules debian-binary-indep

# Build architecture-dependent files here.
debian-binary-arch: build-arch install-arch
#	dh_testversion -a
#	dh_testdir -a
#	dh_testroot -a
#	dh_installdebconf	 -a
	dh_movefiles -a
	dh_installdocs -a
	dh_installexamples -a
#	dh_installmenu -a
#	dh_installemacsen -a
#	dh_installpam -a
	dh_installinit -a
#	dh_installcron -a
	dh_installman -a
#	dh_installmanpages -a
	dh_installinfo -a
#	dh_undocumented -a
	dh_installchangelogs  -a
	dh_link -a
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	# You may want to make some executables suid here.
#	dh_suidregister -a
#	dh_makeshlibs -a
	dh_installdeb -a
#	dh_perl -a
	dh_shlibdeps -a
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

binary-arch:
	$(MAKE) -f debian/rules debian-binary-arch || \
	$(MAKE) -f debian/rules generic-binary-arch

generic-binary-arch: 
	( cd debian/$(TMPDIR); find * -type f | xargs md5sum ) > debian/md5sums
	tar czvfC $(BUILD)/control.tar.gz debian postinst prerm conffiles md5sums control 
	tar czfC $(BUILD)/data.tar.gz  debian/$(TMPDIR) .
	ar r ../$(PACKAGE) $(BUILD)/control.tar.gz $(BUILD)/data.tar.gz

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

