#!/usr/bin/make -f
# -*- makefile -*-
#
# debian/rules file for package `console-tools'

# turn around bug in dpkg-parsechangelog
export LC_ALL=C

package=console-tools
VERSION=$(shell LC_ALL=C dpkg-parsechangelog | grep ^Version: | sed 's/^Version: *//')

ARCH=$(shell dpkg --print-architecture)

topdir=$(shell pwd)
builddir=${topdir}/debian/BUILD
debdir=${topdir}/debian
tmpdir=${debdir}/tmp
compatdir=${debdir}/kbd-compat
libsdir=${debdir}/console-tools-libs
devdir=${debdir}/console-tools-dev
docdir=${tmpdir}/usr/doc/${package}
exampledir=${docdir}/examples
confdir=${tmpdir}/etc/console-tools

# get the main Makefile's SUBDIRS
include Makefile.am

debian/kbdconfig debian/${package}.init: debian/% : debian/%.in
	sed s/@PACKAGE@/${package}/ <$< >$@

build: build-stamp
build-stamp: configure-stamp
	dh_testdir
	make -C ${builddir} CFLAGS="-O2 -g -Wall" ARCH=${ARCH}
	touch build-stamp

configure-stamp:
	dh_testdir
	mkdir -p ${builddir}
	( cd ${builddir} && ${topdir}/configure --enable-kbd-compat --disable-debugging )
	touch configure-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp debian/kbdconfig debian/${package}.init
	-make -C ${builddir} distclean
	rm -rf ${builddir}
	dh_clean

binary-indep:	build
	dh_testdir -i
	dh_testroot -i
	dh_clean -i -k

	dh_installdirs -i
	ln -s console-tools-libs ${compatdir}/usr/doc/kbd-compat

	make -C ${builddir}/compat install prefix=${compatdir}/usr

	dh_installdocs -i

	dh_compress -i
	dh_fixperms -i
	dh_installdeb -i
	dh_gencontrol -i -u '-isp'
	dh_md5sums -i
	dh_builddeb -i

binary-arch:	build debian/kbdconfig debian/${package}.init
	dh_testversion 0.72	# dh_installinit --init-script (unknown options did not failed)
	dh_testdir -a
	dh_testroot -a
	dh_clean -a -k

	dh_installdirs -a
	ln -s console-tools-libs ${tmpdir}/usr/doc/console-tools
	ln -s console-tools-libs ${devdir}/usr/doc/console-tools-dev

	make -C ${builddir} install prefix=${tmpdir}/usr
# uninstall stuff that goes into arch-indep packages
	make -C ${builddir}/compat uninstall prefix=${tmpdir}/usr

# open compat symlink
	ln -s openvt ${tmpdir}/usr/bin/open
	ln -s openvt.1 ${tmpdir}/usr/man/man1/open.1

# install data dirs
	( cd ${tmpdir}/usr/share/ && \
	  install -d -m 755 keymaps consolefonts consoletrans videomodes )

# this file is only useful in the source tree
	rm -f ${docdir}/file-formats/TMPL

# correct some install locations for programs
	mv ${tmpdir}/usr/bin/loadkeys ${tmpdir}/bin		# needed at boot-time

# move the libs into /lib, as loadkeys need all of them
	mv ${tmpdir}/usr/lib/*.so.* ${tmpdir}/lib/
	for i in libcfont libconsole libctutils; do\
	  ln -sf /lib/$$i.so.?.* ${tmpdir}/usr/lib/$$i.so ;\
	done

# these programs are usable only by root because of permissions in /dev:
	mv ${tmpdir}/usr/bin/vcstime \
	   ${tmpdir}/usr/bin/writevt \
	   ${tmpdir}/usr/bin/setvesablank \
	     ${tmpdir}/usr/sbin/

	dh_movefiles -a
	-rmdir -p ${tmpdir}/usr/include/lct ${tmpdir}/usr/lib ${tmpdir}/lib
	-rmdir -p ${tmpdir}/usr/share/locale/*/LC_MESSAGES/

	dh_installdocs -a
	mv ${docdir}/*.html ${docdir}/html/
	dh_installexamples -a
	install -m 644 debian/lct.docbase ${tmpdir}/usr/share/doc-base/lct

# move unicode examples to subdir
	( cd ${docdir}/examples/ && mv README.strange-name ?????? utflist* \
		unicode/ )
	dh_installinit -pconsole-tools --init-script=keymaps-lct.sh -r -u"start 05 S ."
	dh_undocumented -a

# some deb-specific files
	install -m 0755 debian/kbdconfig ${tmpdir}/usr/sbin
	install -m 0755 debian/rc.boot ${tmpdir}/etc/rc.boot/console-tools

	install -m 644 debian/config ${tmpdir}/etc/console-tools/

	dh_installchangelogs ChangeLog -pconsole-tools-libs

	dh_strip -a
	dh_compress -a
	dh_fixperms -a
	dh_installdeb -a
	LD_LIBRARY_PATH=${topdir}/lib/.libs:/lib:/usr/lib \
	  dh_shlibdeps -a
	dh_gencontrol -a -u '-isp'
	dh_makeshlibs -a --version-info="console-tools-libs (= ${VERSION})"
	dh_md5sums -a
	dh_builddeb -a

# Below here is fairly generic really

binary:		binary-indep binary-arch

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