#!/usr/bin/make -f

TOPDIR = $(shell pwd)
KBD = $(TOPDIR)/debian/kbd
KBD_DOC = $(KBD)/usr/share/doc/kbd
KBD_UDEB = $(TOPDIR)/debian/kbd-udeb

# build these twice, once optimized for size (for kbd-udeb)
UDEB_BINARIES = loadkeys kbd_mode setfont

# non-standard binaries to build
EXTRA_BINARIES = screendump setlogcons setvesablank
CONTRIB_BINARIES = codepage splitfont vcstime

# we don’t want these in /usr/bin
MOVE_TO_BIN = kbd_mode setfont fgconsole openvt chvt dumpkeys unicode_start loadkeys
MOVE_TO_SBIN = kbdrate
MOVE_TO_USR_SBIN = vcstime setvesablank

%:
	dh $@

override_dh_auto_clean:
	dh_auto_clean
	[ ! -f Makefile ] || $(MAKE) clean
	cd src/ && rm -f $(EXTRA_BINARIES) *-udeb
	cd contrib/ && rm -f $(CONTRIB_BINARIES)
	cd po/ && rm -f eo.gmo it.gmo ru.gmo
	rm -f po/gr.po			# replaced by el.po
	rm -f po/es.po			# erroneous
	# force rebuilding of generated code
	rm -f src/loadkeys.c src/loadkeys.h src/loadkeys.analyze.c

override_dh_auto_configure:
	./configure --prefix=/usr --datadir=/usr/share --mandir=/usr/share/man --enable-nls \
		$(shell dpkg-buildflags --export=configure)

override_dh_auto_build:
	$(MAKE) -C po/ eo.gmo it.gmo ru.gmo
	$(MAKE) -C src/ CFLAGS="-Os -g" $(UDEB_BINARIES)
	cd src/ && for ITEM in $(UDEB_BINARIES); do mv $$ITEM $$ITEM-udeb; done
	$(MAKE) -C src/ clean
	$(MAKE)
	$(MAKE) -C src/ $(EXTRA_BINARIES)
	$(MAKE) CFLAGS="-O2 -g" -C contrib/ $(CONTRIB_BINARIES)

override_dh_auto_install:
# the kbd “core”
	$(MAKE) DESTDIR=$(KBD) install-exec
	$(MAKE) DESTDIR=$(KBD) -C po/ install
	$(MAKE) DESTDIR=$(KBD) -C man/ install
# some additional utilities
	install -m755 $(addprefix src/,$(EXTRA_BINARIES)) $(KBD)/usr/bin/
	install -m755 $(addprefix contrib/,$(CONTRIB_BINARIES)) $(KBD)/usr/bin/
	install -m755 data/keymaps/i386/mk_modmap $(KBD)/usr/bin
# move everything where it belongs
	mv $(addprefix debian/kbd/usr/bin/,$(MOVE_TO_BIN)) $(KBD)/bin/
	mv $(addprefix debian/kbd/usr/bin/,$(MOVE_TO_SBIN)) $(KBD)/sbin/
	mv $(addprefix debian/kbd/usr/bin/,$(MOVE_TO_USR_SBIN)) $(KBD)/usr/sbin/
# configuration files
	install -m644 debian/conffiles.d/* $(KBD)/etc/kbd/
# prepare udeb
	for ITEM in $(UDEB_BINARIES); do install -m755 src/$$ITEM-udeb $(KBD_UDEB)/bin/$$ITEM; done

override_dh_installinit:
	dh_installinit -r -u"start 48 S ."

override_dh_installdocs:
	dh_installdocs
	install -d $(KBD_DOC)/charsets
	cp doc/iso8859.info doc/iso*.txt doc/cp*.txt $(KBD_DOC)/charsets
