#!/usr/bin/make -f

# This software may be used, modified, copied, distributed, and sold,
# in both source and binary form.  This why under no circumstances is
# the author responsible for the proper functioning of this software,
# nor does the author assume any responsibility for damages incurred
# with its use. USE AT YOUR OWN RISK !

SHELL = /bin/bash

package = console-cyrillic
byte_encodings = cp1251 ibm866 iso-8859-5 koi8-r koi8-u mac-cyrillic mik pt154
encodings = unicode rk1048 $(byte_encodings)

kazakh=debian/binary/console-kazakh-0.2b

%:
	dh $@

override_dh_auto_build:
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - keymap/cyr-russian.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/ru-$${enc}.kmap; \
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - keymap/cyr-russian-ms.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/ru_ms-$${enc}.kmap; \
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - keymap/cyr-belarusian.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/by-$${enc}.kmap;\
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - debian/cyr-bulgarian-bds.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/bg_bds-$${enc}.kmap; \
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - debian/cyr-bulgarian-phon.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/bg_phon-$${enc}.kmap; \
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - debian/cyr-serbian.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/sr-$${enc}.kmap; \
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - debian/cyr-macedonian.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/mk-$${enc}.kmap; \
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - debian/cyr-ukrainian1.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/ua-$${enc}.kmap; \
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - debian/cyr-ukrainian-ms.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/ua_ms-$${enc}.kmap; \
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - debian/cyr-mongolian.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/mn-$${enc}.kmap; \
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - $(kazakh)/keymap/cyr-kazakh.cpp | cpp -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/kaz_gost-$${enc}.kmap; \
	done
	set -e; \
	for enc in $(encodings); do \
		debian/makeenc $$enc <debian/unicodesyms|cat - $(kazakh)/keymap/cyr-kazakh.cpp | cpp -DIO -iquote keymap/ -iquote - -P|sed 's/+ *U+/U+/g'|grep '[^ ]' >debian/kaz_alt-$${enc}.kmap; \
	done
	mkdir -p debian/windows
	set -e; \
	for enc in $(byte_encodings); do \
		trcs -f koi8-r -t $${enc} windows.txt >debian/windows/$${enc}; \
	done
	iconv -f koi8-r -t utf-8 windows.txt >debian/windows/utf-8
	echo '# This file is combination between cyrillic.fallback and graph.fallback' >debian/cyrillic-graph.fallback
	cat debian/cyrillic.fallback >>debian/cyrillic-graph.fallback
	zcat /usr/share/consoletrans/graph.fallback.gz >>debian/cyrillic-graph.fallback
	set -e; for s in displayfont dumppsf makeacm raw2psf; do \
		pod2man scripts/$$s >debian/$$s.1; \
	done

override_dh_auto_install:
	mkdir -p debian/$(package)/usr/share/console-cyrillic
	cp -t debian/$(package)/usr/share/console-cyrillic \
		debian/ru-*.kmap debian/ru_ms-*.kmap debian/by-*.kmap \
		debian/bg_bds-*.kmap debian/bg_phon-*.kmap debian/sr-*.kmap \
		debian/mk-*.kmap debian/ua-*.kmap debian/ua_ms-*.kmap \
		debian/mn-*.kmap debian/kaz_gost-*.kmap debian/kaz_alt-*.kmap \
		debian/option-*.kmap
	cp -t debian/$(package)/usr/share/console-cyrillic \
		acm/* sfm/* \
		debian/cyrillic.fallback debian/cyrillic-graph.fallback \
		debian/*.screenmap psf/* \
		debian/binary/*.psf debian/binary/*.acm \
		$(kazakh)/acm/rk1048.acm \
		$(kazakh)/sfm/*.sfm $(kazakh)/psf/*.psf \
		debian/*.trans
	gzip -9nv debian/$(package)/usr/share/console-cyrillic/*.acm
	gzip -9nv debian/$(package)/usr/share/console-cyrillic/*.sfm
	gzip -9nv debian/$(package)/usr/share/console-cyrillic/*.fallback
	mkdir -p debian/$(package)/usr/bin
	cp -t debian/$(package)/usr/bin scripts/* debian/cyr
	mkdir -p debian/$(package)/usr/share/doc/$(package)
	install -m0644 debian/README debian/$(package)/usr/share/doc/$(package)/README.Debian
	cp -t debian/$(package)/usr/share/doc/$(package)/ \
		debian/README.Debian.old debian/Cyr_and_Lat.README debian/README.ru debian/README.eng
	sed '/README.en/d' $(kazakh)/README.ru >debian/$(package)/usr/share/doc/$(package)/README.console-kazakh
	mkdir -p debian/$(package)/usr/share/doc/$(package)/dosemu
	cp -t debian/$(package)/usr/share/doc/$(package)/dosemu/ x-window/vga.bdf debian/mik.bdf
	mkdir -p debian/$(package)/usr/share/doc/$(package)/windows
	cp -t debian/$(package)/usr/share/doc/$(package)/windows/ debian/windows/*

override_dh_auto_clean:
	rm -f debian/ru-*.kmap debian/ru_ms-*.kmap debian/by-*.kmap \
		debian/bg_bds-*.kmap debian/bg_phon-*.kmap debian/sr-*.kmap \
		debian/mk-*.kmap debian/ua-*.kmap debian/ua_ms-*.kmap \
		debian/mn-*.kmap debian/kaz_gost-*.kmap debian/kaz_alt-*.kmap
	rm -f debian/cyrillic-graph.fallback
	rm -f debian/displayfont.1 debian/dumppsf.1 debian/makeacm.1 debian/raw2psf.1
	rm -rf debian/windows
