#!/usr/bin/make -f
# Made with the aid of debhelper by by Joey Hess,
# based on the sample debian/rules file for GNU hello by Ian Jackson.
#
# This is free software; see the GNU General Public Licence
# version 2 or later for copying conditions.  There is NO warranty.
#
# Currently maintained by Anthony Fok <foka@debian.org>
# for Debian GNU/Linux.

SHELL = /bin/bash

srcpkg = freetype1

libpkg = libttf2
devpkg = libttf-dev
binpkg = freetype1-tools
docdir = usr/share/doc

FONTS = usr/share/texmf/fonts
TTF2PK = usr/share/texmf/ttf2pk
VERSION = $(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2)

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

# This is the debhelper compatibility version to use.
export DH_COMPAT=4

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

build: build-stamp
build-stamp:
	dh_testdir

	./configure --prefix=/usr \
		--with-locale-dir='$${prefix}/share/locale' --enable-static
	$(MAKE)

	( cd contrib/ttf2bdf && ./configure --prefix=/usr --mandir='$${prefix}/share/man' )
	$(MAKE) -C contrib/ttf2bdf

	for i in patches/*; do patch -b -p0 < $$i; done
	( cd contrib/ttf2pk && ./configure --prefix=/usr \
		--mandir='$${prefix}/share/man' \
		--with-kpathsea-lib=/usr/lib \
		--with-kpathsea-include=/usr/include )
	$(MAKE) -C contrib/ttf2pk
	for i in contrib/ttf2pk/*.orig; do mv $$i $${i%.orig}; done

	( cd contrib/ttf2pfb && ./configure --prefix=/usr --mandir='$${prefix}/share/man' )
	$(MAKE) -C contrib/ttf2pfb

	( cd contrib/ttfbanner && ./configure --prefix=/usr --mandir='$${prefix}/share/man' )
	$(MAKE) -C contrib/ttfbanner

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp
	-$(MAKE) distclean
	-for i in ttf2bdf ttf2pfb ttf2pk ttfbanner; do $(MAKE) -C contrib/$$i distclean; done
	dh_clean

install: DH_OPTIONS=
install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	$(MAKE) prefix=`pwd`/debian/libttf2/usr install

	cd debian/libttf2/usr/bin && \
	    for i in ftdump ftlint ftstring fttimer ftview; do \
		mv -f $$i $${i}1; \
	    done

	dh_movefiles --sourcedir debian/libttf2
	rmdir debian/libttf2/usr/bin
	rmdir --ignore-fail-on-non-empty -p debian/libttf2/usr/include/freetype


# Build architecture-independent files here.
binary-indep:

# Build architecture-dependent files here.
binary-arch: build $(libpkg) $(devpkg) $(binpkg)

$(libpkg): DH_OPTIONS=-p$(libpkg)
$(libpkg): build install
	dh_testdir
	dh_testroot
	dh_installdirs $(docdir)/$(libpkg)/docs
#	$(MAKE) prefix=`pwd`/debian/libttf2/usr install
#	dh_installdocs README announce license.txt
	dh_installdocs README PATENTS announce readme.1st
	dh_installexamples
#	dh_installmenu
#	dh_installmanpages tools/ttf2bdf/ttf2bdf.man
#	dh_undocumented
	cp -av docs/FTL.txt docs/changes.txt docs/credits \
		debian/libttf2/$(docdir)/$(libpkg)/docs/
	ln -sf ../../../common-licenses/GPL \
		debian/libttf2/$(docdir)/$(libpkg)/docs/GPL.txt
	dh_installchangelogs
#	ln -s commitlog.gz debian/libttf2/$(docdir)/$(libpkg)/changelog.gz
	# dh_installchangelogs commitlog
	dh_strip
	dh_link
	dh_compress
	ln -s docs/changes.txt.gz debian/libttf2/$(docdir)/$(libpkg)/changelog.gz
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_makeshlibs

	dh_md5sums
	dh_builddeb

$(devpkg): DH_OPTIONS=-p$(devpkg)
$(devpkg): build install
	dh_testdir
	dh_testroot
	dh_installdirs $(docdir)/$(libpkg)
#	$(MAKE) prefix=`pwd`/debian/$(devpkg)/usr install
	ln -s $(libpkg) debian/$(devpkg)/$(docdir)/$(devpkg)
	dh_installdocs INSTALL docs/ lib/extend/
	( cd debian/$(devpkg)/$(docdir)/$(devpkg)/docs && \
		rm -f changes.txt credits FTL.txt GPL.txt )
#	dh_installexamples
#	dh_installmenu
#	dh_installmanpages
#	dh_undocumented
#	dh_installchangelogs
	dh_strip
	dh_link
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
#	dh_makeshlibs
	dh_md5sums
	dh_builddeb

$(binpkg): DH_OPTIONS=-p$(binpkg)
$(binpkg): build install
	dh_testdir
	dh_testroot

	dh_installdirs $(docdir)/$(libpkg)/ttf2pk \
		$(FONTS)/sfd $(FONTS)/enc/ttf2pk/base $(TTF2PK)/base \
		etc/texmf/ttf2pk etc/texmf/map/ttf2pk/ttfonts \
		$(docdir)/$(libpkg)/ttf2bdf \
		$(docdir)/$(libpkg)/ttf2pfb \
		$(docdir)/$(libpkg)/ttfbanner
	ln -s $(libpkg) debian/$(binpkg)/$(docdir)/$(binpkg)

	for i in ttf2bdf ttf2pfb ttf2pk ttfbanner; do \
	  $(MAKE) -C contrib/$$i prefix=`pwd`/debian/$(binpkg)/usr install; \
	done

	# Temporary measure.  Remove the following in the future after
	# both versions (from t1utils and freetype) are merged.
	( cd debian/$(binpkg)/usr/bin && \
		mv t1asm t1asm-freetype && \
		mv getafm getafm-freetype )

	# ttf2pk needs the *.sfd, *.enc and *.rpl
        # in their own directory.  (?)  Hmm...
	cp -av contrib/ttf2pk/data/*.sfd debian/$(binpkg)/$(FONTS)/sfd
	cp -av contrib/ttf2pk/data/VPS.rpl debian/$(binpkg)/$(TTF2PK)/base
	cp -av contrib/ttf2pk/data/T1-WGL4.enc debian/$(binpkg)/$(FONTS)/enc/ttf2pk/base
	cp -av contrib/ttf2pk/data/ttfonts.map debian/$(binpkg)/etc/texmf/map/ttf2pk/ttfonts
	cp -av contrib/ttf2pk/data/ttf2pk.cfg debian/$(binpkg)/etc/texmf/ttf2pk

	dh_installdocs

	cp -av contrib/ttf2bdf/README \
		debian/$(binpkg)/$(docdir)/$(binpkg)/ttf2bdf/
	cp -av contrib/ttf2pfb/TODO \
		debian/$(binpkg)/$(docdir)/$(binpkg)/ttf2pfb/
	( cd contrib/ttf2pk && cp -av *.doc README TODO BUGS \
		../../debian/$(binpkg)/$(docdir)/$(binpkg)/ttf2pk/ )
	cp -av contrib/ttfbanner/README \
		debian/$(binpkg)/$(docdir)/$(binpkg)/ttfbanner/

#	dh_installexamples tools/ttf2bdf/iso8859.2 tools/ttf2pk/
#	dh_installmenu
#	dh_installmanpages
#	dh_undocumented ftview.1 fttimer.1 ftlint.1 ftdump.1 \
#		ftzoom.1 ftstring.1 ftstrpnm.1 fterror.1 \
#		ttf2pfb.1 ttfbanner.1
#	dh_installchangelogs
	dh_link etc/texmf/map/ttf2pk usr/share/texmf/fonts/map/ttf2pk
	dh_strip
	dh_link
	dh_compress
	dh_fixperms
	dh_installdeb
	# To be safe, make freetype1-tools depend on the same version of libttf2
	dh_shlibdeps -l debian/$(libpkg)/usr/lib --dpkg-shlibdeps-params=-O \
		| sed -e 's/$(libpkg)/$(libpkg) (= $(VERSION))/' \
		> debian/$(binpkg).substvars
	dh_gencontrol
#	dh_makeshlibs
	dh_md5sums
	dh_builddeb

binary: binary-arch
.PHONY: build clean binary-arch binary \
	$(libpkg) $(devpkg) $(binpkg) install
