#!/usr/bin/make -f

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

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

CFLAGS = -Wall -g

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

configure: configure-stamp
configure-stamp:
	dh_testdir
	chmod +x debian/configupdate
	debian/configupdate update
	touch configure-stamp


build-common-stamp: configure-stamp
	cd common; \
	./configure --prefix=/usr --mandir=/usr/share/man \
				--infodir=/usr/share/info \
				--sysconfdir=/etc \
				--build=${DEB_BUILD_GNU_TYPE} \
				--host=${DEB_HOST_GNU_TYPE} \
				--enable-grt \
				--enable-canvas \
				--disable-dependency-tracking \
				--disable-java-modules; \
	$(MAKE)
	touch build-common-stamp

build-admin-stamp: configure-stamp build-common-stamp
	cd administrator; \
	./configure --prefix=/usr --mandir=/usr/share/man \
				--infodir=/usr/share/info \
				--sysconfdir=/etc \
				--build=${DEB_BUILD_GNU_TYPE} \
				--host=${DEB_HOST_GNU_TYPE} \
				--disable-dependency-tracking; \
	$(MAKE)
	touch build-admin-stamp


build-query-browser-stamp: configure-stamp build-common-stamp
	cd query-browser; \
	./configure --prefix=/usr --mandir=/usr/share/man \
				--infodir=/usr/share/info \
				--sysconfdir=/etc \
				--build=${DEB_BUILD_GNU_TYPE} \
				--host=${DEB_HOST_GNU_TYPE} \
				--with-gtkhtml=libgtkhtml-3.14 \
				--disable-dependency-tracking; \
	$(MAKE)
	touch build-query-browser-stamp


# build-workbench-stamp: configure-stamp build-common-stamp
# 	cd mysql-workbench; \
# 	./configure --prefix=/usr --mandir=/usr/share/man \
#				--infodir=/usr/share/info \
#				--sysconfdir=/etc \
#				--build=${DEB_BUILD_GNU_TYPE} \
#				--host=${DEB_HOST_GNU_TYPE} \
#				--disable-dependency-tracking; \
#	$(MAKE)
#	touch build-workbench-stamp


#Architecture 
build: build-arch build-indep

build-arch: build-arch-stamp
build-arch-stamp: build-common-stamp build-admin-stamp build-query-browser-stamp # build-workbench-stamp
	touch build-arch-stamp

build-indep: build-arch-stamp build-indep-stamp
build-indep-stamp: configure-stamp 

	# Add here commands to compile the indep part of the package.
	#$(MAKE) doc
	touch build-indep-stamp

clean:
	dh_testdir
	dh_testroot
	
	rm -f build-arch-stamp build-indep-stamp configure-stamp
	rm -f build-admin-stamp built-common-stamp build-common-stamp build-query-browser-stamp
	
	# Add here commands to clean up after the build process.
	for i in administrator common query-browser; do \
		cd $$i; if [ -e Makefile ]; then $(MAKE) distclean; fi; cd ..; \
	done

	# Removed extra crap left by upstream
	rm -f common/source/php/Makefile
	rm -f common/source/php/modules/Makefile
	rm -f common/po/*.gmo
	rm -f administrator/po/*.gmo
	rm -f administrator/po/*.po-merged
	rm -f query-browser/po/*.gmo
	rm -f query-browser/source/linux/gtksourceview/po/POTFILES
	
	# Reset config files	
	chmod +x debian/configupdate
	debian/configupdate reset
	
	dh_clean 

install-indep: install-arch
install-arch: install
#	dh_testdir
#	dh_testroot
#	dh_clean -k -i 
#	dh_installdirs -i
#
#	# Add here commands to install the indep part of the package into
#	# debian/<package>-doc.
#	#INSTALLDOC#
#
#	dh_install -i

# To build all we need arch, and vice-versa...
install:
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs
	
	# installing binaries
	cd administrator; $(MAKE) install DESTDIR=$(CURDIR)/debian/mysql-admin
	cd common; $(MAKE) install DESTDIR=$(CURDIR)/debian/mysql-gui-tools-common
	cd query-browser; $(MAKE) install DESTDIR=$(CURDIR)/debian/mysql-query-browser
	
	# fix mysql-administrator
	rm debian/mysql-admin/usr/bin/mysql-administrator
	mv debian/mysql-admin/usr/bin/mysql-administrator-bin debian/mysql-admin/usr/bin/mysql-admin
	
	# fix mysql-query-browser
	rm debian/mysql-query-browser/usr/bin/mysql-query-browser
	mv debian/mysql-query-browser/usr/bin/mysql-query-browser-bin debian/mysql-query-browser/usr/bin/mysql-query-browser

	# Remove extra directories from mysql-gui-common
	rmdir debian/mysql-gui-tools-common/usr/lib/mysql-gui
	rmdir debian/mysql-gui-tools-common/usr/lib
	
	# Install icons for the Debian menu
	cp debian/mysql-admin.xpm debian/mysql-admin/usr/share/pixmaps
	cp debian/mysql-query-browser.xpm debian/mysql-query-browser/usr/share/pixmaps
	
	dh_install

# Must not depend on anything. This is to be called by
# binary-arch/binary-indep
# in another 'make' thread.
binary-common:
	dh_testdir
	dh_testroot
	dh_installchangelogs
	dh_installdocs
#	dh_installexamples
	dh_installmenu
#	dh_installdebconf	
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
#	dh_installcron
#	dh_installinfo
	dh_installman
	dh_link
	dh_strip
	dh_compress -X.png -X.html
	dh_fixperms
#	dh_perl
#	dh_python
#	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb
# Build architecture independant packages using the common target.
binary-indep: build-indep install-indep
	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common

# Build architecture dependant packages using the common target.
binary-arch: build-arch install-arch
	$(MAKE) -f debian/rules DH_OPTIONS=-a binary-common

manpage: debian/mysql-admin.xml debian/mysql-query-browser.xml
	xsltproc -''-nonet /usr/share/apps/ksgmltools2/docbook/xsl/manpages/docbook.xsl debian/mysql-admin.xml
	xsltproc -''-nonet /usr/share/apps/ksgmltools2/docbook/xsl/manpages/docbook.xsl debian/mysql-query-browser.xml

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