#!/usr/bin/make -f

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

PACKAGE=dia-common

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

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

export CFLAGS

LANGUAGES=en eu pl fr

configure-gnome: configure-gnome-stamp
configure-gnome-stamp:
	dh_testdir
	autoreconf -f
	./configure \
		--host=$(DEB_HOST_GNU_TYPE) \
		--build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr \
		--mandir=\$${prefix}/share/man \
		--infodir=\$${prefix}/share/info \
		--docdir=\$${prefix}/share/doc/$(PACKAGE) \
		--with-python \
		--with-cairo \
		--enable-gnome
	# temporary docbook-xsl source for referenced pngs
	ln -s /usr/share/xml/docbook/stylesheet/docbook-xsl doc/html
	touch configure-gnome-stamp

build-gnome: build-gnome-stamp
build-gnome-stamp: configure-gnome-stamp
	dh_testdir
	$(MAKE)
	mv app/.libs/dia app/dia-gnome
	touch build-gnome-stamp

configure-nognome: configure-nognome-stamp
configure-nognome-stamp: build-gnome-stamp
	dh_testdir
	autoreconf -f
	./configure \
		--host=$(DEB_HOST_GNU_TYPE) \
		--build=$(DEB_BUILD_GNU_TYPE) \
		--prefix=/usr \
		--mandir=\$${prefix}/share/man \
		--infodir=\$${prefix}/share/info \
		--docdir=\$${prefix}/share/doc/$(PACKAGE) \
		--with-python \
		--with-cairo \
		--with-hardbooks
	touch configure-nognome-stamp

build-nognome: build-nognome-stamp
build-nognome-stamp: configure-nognome-stamp
	dh_testdir
	$(MAKE)
	touch build-nognome-stamp

build-common: build-common-stamp
build-common-stamp: build-nognome-stamp
	dh_testdir
	touch build-common-stamp

build: build-stamp
build-stamp: build-common-stamp

clean: clean-patched
clean-patched:
	dh_testdir
	dh_testroot
	rm -f configure*-stamp build*-stamp install-stamp

	[ ! -f Makefile ] || $(MAKE) distclean
	-rm -f app/dia-gnome
	-rm -f po/.intltool-merge-cachemake

	# temporary docbook-xsl source for referenced pngs
	-rm -f doc/html

	-find . -name 'Makefile.in' | xargs rm -f
	-rm -f configure config.h.in aclocal.m4

	dh_clean

install: install-stamp
install-stamp: build-stamp
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	$(MAKE) install DESTDIR=$(CURDIR)/debian/$(PACKAGE)
	$(MAKE) -C doc install-html DESTDIR=$(CURDIR)/debian/$(PACKAGE)

	for i in $(LANGUAGES) ; do \
		rm $(CURDIR)/debian/$(PACKAGE)/usr/share/doc/dia-common/html/$$i/$$i ;\
	done
	
	mv debian/$(PACKAGE)/usr/bin/dia debian/$(PACKAGE)/usr/bin/dia-normal

	mv debian/$(PACKAGE)/usr/share/man/man1/dia.1 debian/$(PACKAGE)/usr/share/man/man1/dia-normal.1
	cp debian/$(PACKAGE)/usr/share/man/man1/dia-normal.1 debian/$(PACKAGE)/usr/share/man/man1/dia-gnome.1

	# for now, take thumbnails schema from debian dir until upstream includes it
	install -D -m 644 debian/dia-thumbnailer.schemas \
	    debian/$(PACKAGE)/usr/share/gconf/schemas/dia-thumbnailer.schemas

	# rename desktop file on move from dia-gnome to dia-common to
	# prevent conflicts on upgrades from <= sarge
	mv debian/$(PACKAGE)/usr/share/applications/dia.desktop \
	   debian/$(PACKAGE)/usr/share/applications/dia-common.desktop

	rm -rf debian/$(PACKAGE)/usr/share/oaf
	rm -rf debian/$(PACKAGE)/usr/share/doc/dia/xml
	cp app/dia-gnome debian/$(PACKAGE)/usr/bin/
	#cp *.xpm debian/$(PACKAGE)/usr/share/pixmaps
	mkdir -p debian/$(PACKAGE)/usr/share/pixmaps
	cp debian/*.xpm debian/$(PACKAGE)/usr/share/pixmaps

	dh_movefiles --sourcedir=debian/$(PACKAGE)
	rmdir debian/$(PACKAGE)/usr/bin
	rm -rf debian/$(PACKAGE)/usr/share/man
	rm -rf debian/$(PACKAGE)/usr/lib
	rm -rf debian/$(PACKAGE)/usr/var
	rm -rf debian/$(PACKAGE)/usr/share/omf
	rm -rf debian/$(PACKAGE)/usr/share/doc/dia

	# XML DTD registration:
	#mkdir -p debian/$(PACKAGE)/usr/share/xml/schema/dia
	#cp -a doc/*.dtd debian/$(PACKAGE)/usr/share/xml/schema/dia

	touch install-stamp

# Build architecture-independent files here.
binary-indep: build install
	dh_testdir -i
	dh_testroot -i
	dh_installdocs -i NEWS README TODO AUTHORS
	dh_installexamples -i -pdia-common samples/*.dia
	dh_installmenu -i
	dh_installmime -i
	dh_lintian -i
	dh_installchangelogs -i ChangeLog
	dh_pysupport -i /usr/share/dia
	dh_gconf -i
	dh_strip -i
	dh_compress -i -X.dia
	dh_fixperms -i
	dh_makeshlibs -i
	dh_installdeb -i
	dh_shlibdeps -i
	dh_gencontrol -i
	dh_md5sums -i
	dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir -a
	dh_testroot -a
	dh_installdocs -a
	dh_installexamples -a
	dh_installmenu -a
	dh_installmime -a
	dh_lintian -a
	dh_installchangelogs -a
	dh_pysupport -a /usr/lib/dia
	dh_gconf -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

source diff:
	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false

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