#!/usr/bin/make -f

#export DH_VERBOSE=1

export DH_COMPAT=4

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


ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
	CFLAGS += -g
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
	INSTALL_PROGRAM += -s
endif

version=2.6.0.1
major=2
debversion=2

BUILD_DIR=`pwd`

config.status: patch
	perl debian/gencontrol.pl
	dh_testdir
	./genMakefile.in
	./genConfigure.in
	autoconf
	-test -r /usr/share/misc/config.sub && \
	  cp -f /usr/share/misc/config.sub config.sub
	-test -r /usr/share/misc/config.guess && \
	  cp -f /usr/share/misc/config.guess config.guess
	./configure --host=$(DEB_HOST_GNU_TYPE) \
		--build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=$(BUILD_DIR)/debian/tmp/usr \
		--mandir=\$${prefix}/share/man \
		--infodir=\$${prefix}/share/info \
		--libdir=\$${prefix}/lib/jni 

build: build-stamp
build-stamp:  config.status
	dh_testdir
	mkdir -pv debian/tmp/usr/lib/jni
	mkdir -pv debian/tmp/usr/share/java-gnome
	$(MAKE)
	touch build-stamp

clean: unpatch
	perl debian/gencontrol.pl
	dh_testdir
	dh_testroot
	rm -f build-stamp 
	-rm -rf src/build-java
	-rm -rf src/jni/*.o
	-rm -rf bin
	-rm -rf config.cache
	-rm -rf config.status
	-rm -rf debian/tmp
	-$(MAKE) distclean
	dh_clean 
	-rm -rf config.status
	-rm -rf config.log

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	
	$(MAKE) install
	
	dh_install 	-plibgtk${debversion}-jni 	debian/tmp/usr/lib/jni/*gtk*.so* 		usr/lib/jni
	dh_install	-plibgtk${debversion}-java 	gtk/lib/*.jar 				usr/share/java
	dh_install 	-plibgtk${debversion}-jni 	debian/tmp/usr/lib/jni/*gtkhtml*.so* 		usr/lib/jni
	dh_install	-plibgtk${debversion}-java 	gtkhtml/lib/*.jar 				usr/share/java

	dh_install 	-plibgnome${debversion}-jni debian/tmp/usr/lib/jni/*gnome*.so* 		usr/lib/jni
	dh_install 	-plibgnome${debversion}-java gconf/lib/*.jar 			usr/share/java
	dh_install 	-plibgnome${debversion}-jni debian/tmp/usr/lib/jni/*gconf*.so* 		usr/lib/jni
	dh_install 	-plibgnome${debversion}-java gnome/lib/*.jar 			usr/share/java
	dh_install  -plibgnome${debversion}-jni debian/tmp/usr/lib/jni/*vte*.so* 					usr/lib/jni
	dh_install 	-plibgnome${debversion}-java vte/lib/*.jar 			usr/share/java

	dh_install 	-plibglade${debversion}-java 	debian/tmp/usr/lib/jni/*glade*.so* 		usr/lib/jni
	dh_install	-plibglade${debversion}-java 	glade/lib/*.jar 				usr/share/java
	
	dh_installexamples -plibjava-gnome-doc doc-core/examples/*
	dh_installexamples -plibjava-gnome-doc doc-gnome/examples/*
	dh_installexamples -plibjava-gnome-doc doc-glade/examples/*

	dh_install -plibjava-gnome-doc doc-core/api/* usr/share/doc/libjava-gnome-doc/api/core
	dh_install -plibjava-gnome-doc doc-gnome/api/* usr/share/doc/libjava-gnome-doc/api/gnome
	dh_install -plibjava-gnome-doc doc-glade/api/* usr/share/doc/libjava-gnome-doc/api/glade

	dh_install -plibjava-gnome-doc doc-core/tutorial/ usr/share/doc/libjava-gnome-doc/
	dh_install -plibjava-gnome-doc doc-core/build-faq/* usr/share/doc/libjava-gnome-doc/faq/
	
	dh_install -plibjava-gnome-doc doc-gnome/build-tutorial/* usr/share/doc/libjava-gnome-doc/gnome-tutorial/
	

	# removed unwanted cvs directories from packages
	-find debian/lib* -name "CVS" -exec rm -rf {} \;
	-find debian/lib* -name ".cvsignore" -exec rm -rf {} \;

binary-indep: build install
	dh_testdir 	-i
	dh_testroot -i
	dh_installdocs -A 	-i common/AUTHORS common/THANKS common/NEWS common/README common/TODO debian/README.Debian
	dh_installchangelogs -i
	dh_compress 	-i
	dh_fixperms 	-i
	dh_installdeb 	-i
	dh_gencontrol 	-i
	dh_md5sums 		-i
	dh_builddeb 	-i

binary-arch: build install
	dh_testdir 		-a
	dh_testroot 	-a
	dh_installdocs -a common/AUTHORS common/THANKS common/NEWS common/README common/TODO debian/README.Debian
	dh_installchangelogs -a
	dh_strip 		-a
	dh_compress 	-a
	dh_fixperms 	-a
	dh_makeshlibs 	-a
	dh_installdeb 	-a
	dh_shlibdeps 	-a
	dh_gencontrol 	-a
	dh_md5sums 		-a
	dh_builddeb 	-a

patch: ${CURDIR}/patch-stamp
${CURDIR}/patch-stamp:
	test -d debian/patched || install -d debian/patched
	echo "Patches applied in the Debian version of ${PACKAGE}:" > $@T
	@for patch in `cat debian/patches/00list`; do \
		stamp=debian/patched/$$patch.dpatch; \
		patch=debian/patches/$$patch.dpatch; \
		test -x $$patch || chmod +x $$patch; \
		if test -f $$stamp; then \
			echo "$$patch already applied."; \
			echo -e "\n$$patch:" >> $@T; \
			sed -n 's/^## *DP: */  /p' $$patch >> $@T; \
		else \
			echo -n "applying patch $$patch..."; \
			if $$patch -patch >$$stamp.new 2>&1; then \
				mv $$stamp.new $$stamp; \
				touch $$stamp; \
				echo -e "\n$$patch:" >> $@T; \
				sed -n 's/^## *DP: */  /p' $$patch >> $@T; \
				echo " ok."; \
			else \
				echo " failed."; \
				exit 1; \
			fi; \
		fi; \
	done
	mv -f $@T $@

unpatch:
	@for patch in `sort -r debian/patches/00list`; do \
		stamp=debian/patched/$$patch.dpatch; \
		patch=debian/patches/$$patch.dpatch; \
		test -x $$patch || chmod +x $$patch; \
		if test -f $$stamp; then \
			echo -n "reverting patch $$patch..."; \
			if $$patch -unpatch 2>&1 >/dev/null; then \
				rm -f $$stamp; \
				echo " ok."; \
			else \
				echo " failed."; \
				exit 1; \
			fi; \
		fi; \
	done
	rm -f patch-stamp


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