#!/usr/bin/make -f

#export DH_VERBOSE=1
export DH_COMPAT=3
export DH_OPTIONS

export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

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

configure: configure-stamp
configure-stamp:
	dh_testdir

	# make sure we're using a ltmain.sh that can handle relinking
	# in case autogen.sh (and libtoolize) was run
	cp ltmain-fixed.sh ltmain.sh

	# Add here commands to configure the package.
	./configure \
		$(confflags) \
		--prefix=/usr \
		--mandir=\$${prefix}/share/man \
		--infodir=\$${prefix}/share/info \
		--with-html-dir=\$${prefix}/share/doc/gstreamer-doc \
		--sysconfdir=/etc \
		--with-configdir=/etc/gstreamer \
		--disable-plugin-builddir \
		--disable-tests \
		--disable-examples \
		--enable-docs-build \
		--enable-DEBUG \
		--enable-debug

	touch configure-stamp

build: configure-stamp build-stamp
build-stamp:
	dh_testdir

	$(MAKE)

	touch build-stamp

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

	# why does distclean not get the docs? who knows?
	-(cd docs; $(MAKE) clean)
	-$(MAKE) distclean

	dh_clean

install: DH_OPTIONS=
install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Add here commands to install the package into debian/gstreamer.
	$(MAKE) prefix=$(CURDIR)/debian/gstreamer/usr install

	# move around the doc dirs
	mkdir -p debian/gstreamer/usr/share/doc/gstreamer-doc
	#-mv debian/gstreamer/usr/share/gstreamer/gst-plugin-writers-guide \
	#   debian/gstreamer/usr/share/gstreamer/gstreamer-manual \
	#   debian/gstreamer/usr/share/gstreamer/html/gstreamer-libs \
	#   debian/gstreamer/usr/share/gst/html/gstreamer \
	#   debian/gstreamer/usr/share/doc/gstreamer-doc
	-cp -r docs/fwg/gst-plugin-writers-guide \
	   docs/manual/gstreamer-manual \
	   debian/gstreamer/usr/share/doc/gstreamer-doc

	# devhelp files not installed by default
	mkdir -p debian/gstreamer/usr/share/devhelp/specs
	-cp docs/devhelp/*.devhelp debian/gstreamer/usr/share/devhelp/specs

	# -doc lintian overrides
	mkdir -p debian/gstreamer-doc/usr/share/lintian/overrides/
	cp -a debian/gstreamer-doc.lintian debian/gstreamer-doc/usr/share/lintian/overrides/gstreamer-doc

	dh_movefiles --sourcedir=debian/gstreamer

# Build architecture-independent files here.
# Pass -i to all debhelper commands in this target to reduce clutter.
binary-indep: DH_OPTIONS=-i
binary-indep: build install
# Need this version of debhelper for DH_OPTIONS to work.
	dh_testdir
	dh_testroot
	dh_installdocs -A debian/README.Debian
	dh_installexamples
	dh_installmenu
	dh_installman
	dh_installchangelogs
	dh_strip
	dh_link
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# Build architecture-dependent files here.
# Pass -a to all debhelper commands in this target to reduce clutter.
binary-arch: DH_OPTIONS=-a
binary-arch: build install
# Need this version of debhelper for DH_OPTIONS to work.
	dh_testdir
	dh_testroot
	dh_installdocs -A debian/README.Debian
	dh_installexamples
	dh_installmenu
	dh_installman
	dh_installchangelogs
	dh_strip
	dh_compress
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps -l`pwd`/debian/libgstreamer0.4.0/usr/lib
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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