#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

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

# 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)

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

LDFLAGS += -Wl,--as-needed -ldl
CFLAGS = -Wall -g -D_GNU_SOURCE
CONFFLAGS = $(SYSTEM) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --sysconfdir=/etc --libdir=\$${prefix}/lib

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

# config-stamp: config-backup patch configure
config-stamp: config-backup configure
	dh_testdir

	# Some distributed files are modified or removed
	# by configure or upstream's clean and they shouldn't. 
	# We save copies now, to restore
	# them, else some patches won't work, the clean target will be dirty,
	# mayhem ensues ...
	-find . -name Makefile.in -execdir cp \{} \{}.debian-orig \; -fprint dist-files	

	# Use updated files from autotools-dev
	rm -f config.sub && ln -sf /usr/share/misc/config.sub .
	rm -f config.guess && ln -sf /usr/share/misc/config.guess .
	rm -f keytouch-config/config.sub &&\
	  ln -sf /usr/share/misc/config.sub keytouch-config/config.sub
	rm -f keytouch-config/config.guess &&\
	  ln -sf /usr/share/misc/config.guess keytouch-config/config.guess
	rm -f keytouch-keyboard/config.sub &&\
	  ln -sf /usr/share/misc/config.sub keytouch-keyboard/config.sub
	rm -f keytouch-keyboard/config.guess &&\
	  ln -sf /usr/share/misc/config.guess keytouch-keyboard/config.guess

	# Configure the package.
	                        CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure $(CONFFLAGS) 
	cd keytouch-config   && CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure $(CONFFLAGS)  
	cd keytouch-keyboard && CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure $(CONFFLAGS)  
	touch config-stamp

config-backup: 
	-find . -name config.h -execdir cp \{} \{}.debian-orig \; -fprint dist-files-two
	touch config-backup

build: build-stamp

build-stamp: config-stamp
	dh_testdir

	# Compile the package.
	$(MAKE)
	cd keytouch-config && $(MAKE)
	cd keytouch-keyboard && $(MAKE)

	touch build-stamp

clean: 
	dh_testdir
	dh_testroot
	rm -f build-stamp config-stamp config-backup 

	# Clean up after the build process.
	if [ -f Makefile ]; then \
	  $(MAKE) distclean ;\
	  cd keytouch-config && $(MAKE) distclean && cd ..; \
	  cd keytouch-keyboard && $(MAKE) distclean; \
	fi

	# Get saved files back
	if [ -e dist-files ] ; then \
	  for f in `cat dist-files`; do \
	    rm -f $$f; \
            mv $$f.debian-orig $$f; \
          done; \
	  rm dist-files; \
	fi

	rm -f config.guess
	rm -f config.sub
	rm -f keytouch-config/config.guess
	rm -f keytouch-config/config.sub
	rm -f keytouch-keyboard/config.guess
	rm -f keytouch-keyboard/config.sub

	dh_clean
	# $(MAKE) -f debian/rules unpatch

	# Get (more) saved files back
	if [ -e dist-files-two ] ; then \
	  for f in `cat dist-files-two`; do \
	    rm -f $$f; \
            mv $$f.debian-orig $$f; \
          done; \
	  rm dist-files-two; \
	fi

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs

	# Install the package into debian/keytouch.
	$(MAKE) install DESTDIR=$(CURDIR)/debian/keytouch
	cd $(CURDIR)/keytouch-config && $(MAKE) install DESTDIR=$(CURDIR)/debian/keytouch
	cd $(CURDIR)/keytouch-keyboard && $(MAKE) install DESTDIR=$(CURDIR)/debian/keytouch

	cd debian/keytouch/usr/share/keytouch/pixmaps && convert icon.png icon.xpm

	# Move arch-indep files into -data
	mv debian/keytouch/usr/share/keytouch/doc/html \
	  debian/keytouch-data/usr/share/doc/keytouch-data
	rmdir debian/keytouch/usr/share/keytouch/doc
	mv debian/keytouch/usr/share/keytouch/keyboards \
	  debian/keytouch-data/usr/share/keytouch

binary-indep: build install
	dh_testdir
	dh_testroot
	dh_installexamples -i
	dh_installchangelogs -i ChangeLog
	dh_installdocs -i
	dh_link -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
	dh_testroot
	dh_install -a
	dh_installmenu -a
	dh_installinit -a
	dh_installman -a
	dh_link -a
	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_installdeb -a
	dh_shlibdeps -a 
	dh_gencontrol -a
	dh_md5sums -a
	dh_builddeb -a

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