#!/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

export DH_COMPAT=4




CFLAGS = -Wall -g

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

#DESTDIR=`pwd`/debian/samba4wins
DESTDIR = $(CURDIR)/debian/tmp

NAME = samba4wins
#VERSION = 1.0.0

CONFIGDIR = etc/$(NAME)
DATADIR = usr/share/$(NAME)
LIBDIR = usr/lib/$(NAME)
INCLUDEDIR = usr/include/$(NAME)
LOCALSTATEDIR = var
LOCKDIR = $(LOCALSTATEDIR)/lib/$(NAME)
PIDDIR = $(LOCALSTATEDIR)/run/$(NAME)
LOGFILEBASE = $(LOCALSTATEDIR)/log/$(NAME)
PRIVATEDIR = $(LOCKDIR)/private
# Get Debian version number from 1st line of the Debian changelog
DEBIAN_VERSION=$(shell head -1 debian/changelog | cut -d '(' -f2 | cut -d ')' -f1)
VERSION=$(shell echo $(DEBIAN_VERSION) | cut -d '-' -f1)
DEBIAN_MAJOR=$(shell echo $(DEBIAN_VERSION) | cut -d '.' -f1)
DEBIAN_MINOR=$(shell echo $(DEBIAN_VERSION) | cut -d '.' -f2)
DEBIAN_RELEASE=$(shell echo $(DEBIAN_VERSION) | cut -d '.' -f3 | cut -d '-' -f1)
VENDOR_PATCH=$(shell echo $(DEBIAN_VERSION) | cut -d '-' -f2)
VENDOR_SUFFIX="SerNet-Debian"


conf_args = \
        	--prefix=/usr \
        	--sysconfdir=/$(CONFIGDIR) \
        	--localstatedir=/$(LOCALSTATEDIR) \
		--includedir=/$(INCLUDEDIR) \
        	--libdir=/$(LIBDIR) \
		--datadir=/$(DATADIR) \
        	--mandir=/usr/share/man \
        	--with-lockdir=/$(LOCKDIR) \
        	--with-piddir=/$(PIDDIR) \
        	--with-logfilebase=/$(LOGFILEBASE) \
        	--with-privatedir=/$(PRIVATEDIR) \
        	--with-swatdir=/$(DATADIR)/swat \
        	--enable-debug \
        	--enable-socket-wrapper

#        	--with-fhs \
#   	        --sysconfdir=/etc \
#        	--with-configdir=/etc/samba4wins \

configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package.

	@echo "DEBIAN_VERSION: $(DEBIAN_VERSION)"
	@echo "DEBIAN_MAJOR: $(DEBIAN_MAJOR)"
	@echo "DEBIAN_MINOR: $(DEBIAN_MINOR)"
	@echo "DEBIAN_RELEASE: $(DEBIAN_RELEASE)"
	@echo "VENDOR_SUFFIX: $(VENDOR_SUFFIX)"
	@echo "VENDOR_PATCH: $(VENDOR_PATCH)"
	
	echo "SAMBA_VERSION_MAJOR=$(DEBIAN_MAJOR)"              >  source/VERSION
	echo "SAMBA_VERSION_MINOR=$(DEBIAN_MINOR)"              >> source/VERSION
	echo "SAMBA_VERSION_RELEASE=$(DEBIAN_RELEASE)"          >> source/VERSION
	echo "SAMBA_VERSION_REVISION="                          >> source/VERSION
	echo "SAMBA_VERSION_VENDOR_SUFFIX=\"$(VENDOR_SUFFIX)\"" >> source/VERSION
	echo "SAMBA_VERSION_VENDOR_PATCH=\"$(VENDOR_PATCH)\""   >> source/VERSION
		
	(cd source && ./autogen.sh)
	(cd source && CFLAGS="$(CFLAGS)" ./configure $(conf_args)) 

	touch configure-stamp


build: build-stamp

build-stamp: configure-stamp 
	dh_testdir
	$(MAKE) -C source idl proto all
	
	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp

	-$(MAKE) -C source distclean
	find . -name '.svn' -type d | xargs rm -rf

	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs

	# Add here commands to install the package into debian/samba4wins.
	$(MAKE) -C source install DESTDIR=$(DESTDIR)

	#install -m 0644 debian/samba4wins.conf $(DESTDIR)/$(CONFIGDIR)
	#install -m 0755 debian/smbd4wins.init $(DESTDIR)/etc/init.d/smbd4wins
	install -m 0755 source/script/samba4wins-check-name.pl $(DESTDIR)/usr/sbin/samba4wins-check-name.pl

	# Add version string to docs
	install samba4wins-README.txt       samba4wins-$(VERSION)-README.txt
	install samba4wins-NEWS.txt         samba4wins-$(VERSION)-NEWS.txt
	install samba4wins-HOWTO.txt        samba4wins-$(VERSION)-HOWTO.txt
	install samba4wins-TODO.txt         samba4wins-$(VERSION)-TODO.txt
	
	# Remove some files / directories not needed for samba4wins
	rm -rf $(DESTDIR)/usr/share/samba4wins/swat  
	rm -rf $(DESTDIR)/usr/include
	rm -rf $(DESTDIR)/usr/lib/samba4wins/setup
	rm $(DESTDIR)/usr/bin/samba3dump
	rm $(DESTDIR)/usr/bin/smbstatus
	rm $(DESTDIR)/usr/bin/smbtorture
	rm $(DESTDIR)/usr/bin/winreg
	rm $(DESTDIR)/usr/bin/nmblookup
	rm $(DESTDIR)/usr/bin/testparm


	dh_movefiles

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs 
	dh_installdocs
	dh_installexamples
	dh_install
#	dh_installmenu
#	dh_installdebconf
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
	dh_installinit
#	dh_installcron
#	dh_installinfo
	dh_installman
	dh_link
	dh_strip --dbg-package=samba4wins
	dh_compress
	dh_fixperms
#	dh_perl
#	dh_python
#	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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