#!/usr/bin/make -f

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

INSTDIR=$(CURDIR)/debian/tex-common

bin_scripts=dh_installtexfonts
#bin_scripts=dh_installtexfonts dh_installtex
sbin_scripts=update-texmf update-fontlang

sbin_installfiles=$(foreach script,$(sbin_scripts), scripts/$(script))
sbin_manpages=$(foreach script,$(sbin_scripts), scripts/$(script).8) scripts/update-fmtutil.8 scripts/update-language.8

bin_installfiles=$(foreach script,$(bin_scripts), scripts/$(script))
bin_manpages=$(foreach script,$(bin_scripts), scripts/$(script).1) scripts/update-updmap.1

# create maintainer scripts etc.
EPERL_FILES := debian/common.functions debian/postinst debian/postrm debian/config debian/preinst
eperl_sourcefiles=debian/variables debian/COPYRIGHT.scripts debian/postinst.functions \
   debian/common.variables debian/common.functions debian/postrm.functions

# Eperl is simply great: thanks, Davide!
% :: %.in $(eperl_sourcefiles) 
	eperl -P -o $@ $<

# Override the general rule for eperl-generated files in order to avoid a
# circular dependency (debian/common.functions is listed in
# $(eperl_sourcefiles)).
debian/common.functions: debian/common.functions.in debian/common.variables
	eperl -P -o $@ $<

foo:
	echo foo

build: build-stamp

build-stamp: $(EPERL_FILES)
	dh_testdir
	$(check-svn)

	# Add here commands to compile the package.
	cd doc; $(MAKE)
	cd scripts; pod2man dh_installtexfonts > dh_installtexfonts.1
	#cd scripts; pod2man dh_installtex > dh_installtex.1

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp

	# Add here commands to clean up after the build process.
	cd doc; $(MAKE) clean
	-rm $(EPERL_FILES)

	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_clean -k 
	dh_installdirs

	# Add here commands to install the package into debian/tex-common.
	cd doc; $(MAKE) install DESTDIR=$(INSTDIR)/usr/share/doc/tex-common
	cp conf/fmt.d/00tex.cnf $(INSTDIR)/etc/texmf/fmt.d/
	cp conf/language.d/00tex.cnf $(INSTDIR)/etc/texmf/language.d/
	# ucf files
	cp conf/texmf.d/*cnf $(INSTDIR)/usr/share/tex-common/
	ln -s /etc/texmf/texmf.cnf $(INSTDIR)/usr/share/texmf/web2c/texmf.cnf
	cp conf/updmap.d/00updmap.cfg $(INSTDIR)/usr/share/tex-common/
	cp -a debian/md5sums/* $(INSTDIR)/usr/share/tex-common/
	cp $(sbin_installfiles) $(INSTDIR)/usr/sbin/
	cp $(bin_installfiles) $(INSTDIR)/usr/bin/
	ln -s update-fontlang $(INSTDIR)/usr/sbin/update-language
	ln -s update-fontlang $(INSTDIR)/usr/sbin/update-fmtutil
	ln -s ../sbin/update-fontlang $(INSTDIR)/usr/bin/update-updmap

	# debhelper stuff
	# dh_installtexfonts(.1) is already installed via the bin_scripts
	#cp scripts/postrm-texfonts $(INSTDIR)/usr/share/debhelper/autoscripts
	#cp scripts/postinst-texfonts $(INSTDIR)/usr/share/debhelper/autoscripts
	grep -v '^[ \t]*#' scripts/postrm-texfonts > $(INSTDIR)/usr/share/debhelper/autoscripts/postrm-texfonts
	grep -v '^[ \t]*#' scripts/postinst-texfonts > $(INSTDIR)/usr/share/debhelper/autoscripts/postinst-texfonts

	# ship /var/cache/fonts with proper permissions
	mkdir --mode=1777 $(INSTDIR)/var/cache/fonts/pk
	mkdir --mode=1777 $(INSTDIR)/var/cache/fonts/tfm
	mkdir --mode=1777 $(INSTDIR)/var/cache/fonts/source

	# Remove the out-of-date ls-R file from /usr/share/texmf and create a
	# link to one in /var/lib/texmf that we can update without violating
	# the FHS.
	rm -f debian/$package/usr/share/texmf/ls-R
	ln -s /var/lib/texmf/ls-R-TEXMFMAIN $(INSTDIR)/usr/share/texmf/ls-R

	# Create a symlink in TEXMFMAIN for docs
	ln -s ../doc/texmf $(INSTDIR)/usr/share/texmf/doc


# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	$(check-svn)
	dh_testroot
	dh_installdebconf 
	dh_installchangelogs 
	dh_installdocs
	dh_installexamples
#	dh_install
#	dh_installinfo
	dh_installman $(sbin_manpages) $(bin_manpages)
	dh_link
	dh_compress
	dh_fixperms --exclude=var/cache/fonts
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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

define check-svn
	if test -d debian/.svn; then \
		echo "please clean subversion directories"; \
		exit 1; \
	fi
endef
