#!/usr/bin/make -f

# This has to be exported to make some magic below work.
export DH_OPTIONS

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

# Set the host and build architectures for use with config.cache loading,
# cross-building, etc.
DEB_HOST_GNU_TYPE	:= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE	:= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_ARCH_OS	:= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)

export DEB_HOST_GNU_TYPE
export DEB_BUILD_GNU_TYPE
export DEB_HOST_ARCH_OS

pyversion := $(shell pyversions -vd)

CFLAGS = -g -Wall

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

include /usr/share/quilt/quilt.make

DESTDIR=`pwd`/debian/tmp
PKGNAME=likewise-open
PREFIX=/opt/$(PKGNAME)

conf_args = --with-fhs \
	--enable-shared \
	--enable-static \
	--disable-pie \
	--prefix=$(PREFIX) \
	--sysconfdir=/etc \
	--localstatedir=/var \
	--with-configdir=/etc/samba \
	--with-libdir=$(PREFIX)/lib \
	--with-lockdir=/var/lib/$(PKGNAME) \
	--with-logfilebase=/var/log/$(PKGNAME) \
	--with-mandir=/usr/share/man \
	--with-piddir=/var/run \
	--with-privatedir=/etc/samba \
	--with-pammodulesdir=/lib/security \
	--with-ads \
	--without-readline --with-included-popt --with-included-iniparser \
	--with-dnsupdate \
	--with-pam  \
	--with-shared-modules=idmap_lwopen

ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
  conf_args += --build $(DEB_BUILD_GNU_TYPE)
else
  conf_args += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
endif

CFLAGS = -Wall -g

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

configure: configure-stamp
configure-stamp:
	dh_testdir

	./autogen.sh
	./Configure.sh $(conf_args)

	touch configure-stamp

build: build-stamp

build-stamp: configure-stamp 
	dh_testdir

	$(MAKE) all

	touch build-stamp

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

	$(MAKE) clean

	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs -P $(DESTDIR)
	dh_installdirs

	$(MAKE) DESTDIR=$(DESTDIR) PREFIX=$(PREFIX) install

	mkdir -p $(DESTDIR)/usr/lib/
	mv $(DESTDIR)/$(PREFIX)/lib/libwbclient.so $(DESTDIR)/$(PREFIX)/lib/libwbclient.so.0.1
	ln -s libwbclient.so.0.1 $(DESTDIR)/$(PREFIX)/lib/libwbclient.so.0
	ln -s libwbclient.so.0.1 $(DESTDIR)/$(PREFIX)/lib/libwbclient.so
	mv $(DESTDIR)/$(PREFIX)/lib/libwbclient.so* $(DESTDIR)/usr/lib/

	install --mode=755 winbindd/source/nsswitch/libnss_lwidentity.so $(DESTDIR)/lib/libnss_lwidentity.so.2

	for file in gui/DomainJoinLib/scripts/*pm; do \
		install --mode=0644 $$file $(DESTDIR)/opt/likewise-open/bin/; \
	done
	for file in gui/DomainJoinLib/scripts/*pl; do \
		install --mode=0755 $$file $(DESTDIR)/opt/likewise-open/bin/; \
	done
	for file in gui/DomainJoinLib/scripts/*sh; do \
		install --mode=0755 $$file $(DESTDIR)/opt/likewise-open/bin/; \
	done
	install --mode=0755 gui/DomainJoinLib/scripts/domainjoin-gui $(DESTDIR)/opt/likewise-open/bin/

	install --mode=0755 debian/likewise-open.init $(DESTDIR)/etc/init.d/likewise-open
	install --mode=0644 debian/lwiauthd.conf.default $(DESTDIR)/etc/samba/lwiauthd.conf
	install --mode=0644 debian/pam_lwidentity.conf.default $(DESTDIR)/etc/security/pam_lwidentity.conf
	install --mode=0644 debian/likewise-open-default $(DESTDIR)/etc/defaults/likewise-open

	install --mode=0755 gui/DomainJoinLib/DomainJoinLib.dll $(DESTDIR)/opt/likewise-open/bin/
	install --mode=0755 gui/DomainJoin/DomainJoin.exe $(DESTDIR)/opt/likewise-open/bin/

	dh_install --sourcedir=$(DESTDIR) --fail-missing

# 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_python
#	dh_installinit
#	dh_installcron
#	dh_installinfo
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
#	dh_perl
#	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
