#!/usr/bin/make -f
# debian/rules for LilyPond in Debian.
#
# 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.

package = lilypond1.7

SHELL = /bin/sh
r = debian/$(package)
r_doc = debian/$(package)-doc
d = usr/share/doc/$(package)

include VERSION
VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(PATCH_LEVEL)

# "main_memory = 263000" in /etc/texmf/texmf.cnf isn't large enough
# for latex to process standchen.dvi.latex, so adding extra_mem_* ...
# export extra_mem_top = 100000
# export extra_mem_bot = 100000
# But now, building lilypond.dvi requires increased pool_size (2002-02-18)
# export pool_size = 500000
# But now, it seems that none of the above is needed in 1.4.11  (2002-02-24)
export MODE = ljfour
export BDPI = 600
export USER_CFLAGS = -DDEBIAN
export DEB_BUILD = yes
export MAILADDRESS = lilypond@packages.debian.org

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

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

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

build: build-stamp
build-stamp:
	dh_testdir
	./configure --enable-checking --enable-debugging \
		--prefix=/usr --enable-optimise \
		--infodir='$${prefix}/share/info' \
		--mandir='$${prefix}/share/man'
	$(MAKE) MAKE_PFA_FILES=1
	touch build-stamp

build-doc: build build-doc-stamp
build-doc-stamp:
	dh_testdir

	$(MAKE) -C Documentation
	$(MAKE) web
	find . -type d -name 'out-www' | xargs rm -rf

	touch build-doc-stamp

clean:
	dh_testdir
	dh_testroot
	rm -f build-stamp build-doc-stamp
	-$(MAKE) WWW-clean top-WWW-clean
	-$(MAKE) distclean

	# Still not clean enough?  Let's use... BRUTE STRENGTH!  :-)
	find . -type d -name 'out' -o -name 'out-www' | xargs rm -rf
	rm -f debian/lilypond.links

	dh_clean

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

	# Add here commands to install the package into debian/tmp.
	dh_installdirs
	$(MAKE) prefix=$(PWD)/$(r)/usr MAKE_PFA_FILES=1 install
	# Ugh, remove hundred music-glossary copies
	find . -name 'music-glossary.info-*' | xargs rm -f

# Build architecture-independent files here.
binary-indep: DH_OPTIONS=-i
binary-indep: build-doc install
	dh_testdir
	dh_testroot
	# Extract LilyPond website tarball ...
	tar -C $(r_doc)/$(d)/html -xvzf out/web.tar.gz
	# Add symlinks to the PostScript docs and LilyPond logo PNGs ...
	cd $(r_doc)/$(d) \
	    && cp -s `find html/Documentation -name '*.ps.gz'` . \
	    && cp -s html/Documentation/pictures/out-www/*.png .
#	# Copy the DVI docs too ...
#	cp -a `find Documentation -name '*.dvi' ! -name 'lily-[0-9]*.dvi'` \
#		$(r_doc)/$(d)/
	dh_installdocs
	dh_installchangelogs
	dh_link
	dh_compress -X$(d)/html/
	dh_fixperms
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary-arch: DH_OPTIONS=-s
binary-arch: build install
	dh_testdir
	dh_testroot
	cp -av lilypond-mode.el lilypond-font-lock.el lilypond-indent.el \
		lilypond.words \
		$(r)/usr/share/emacs/site-lisp/
	dh_installdocs DEDICATION NEWS ROADMAP *.txt

#	dh_installdocs DEDICATION NEWS ROADMAP *.txt \
#		Documentation/pictures/out/*.png
#		Documentation/out/*.txt
#		$(DVI_FILES) $(PS_FILES)
#	mkdir $(r)/$(d)/bibliography $(r)/$(d)/misc
#	cp -a Documentation/bibliography/*.bib $(r)/$(d)/bibliography/
#	cp -a Documentation/misc/[ACN]* $(r)/$(d)/misc/

#	dh_installexamples input
#	find input \( -name '*.*ly' -o -name '*.abc' -o -name '*.tex' -o -name 'TODO' \) \
#		-exec cp -a --parents '{}' $(r)/$(d)/examples ';'
#	for i in `find $(r)/$(d)/examples/ -type d -name out`; do \
#		mv -fv $$i/* $$i/..; rmdir $$i; done
#	dh_installmenu
	dh_installemacsen
#	dh_installcron
#	dh_installman
#	dh_undocumented
	dh_installchangelogs ChangeLog

	mv $(r)/usr/share/lilypond/$(VERSION)/dvips/lilypond.map \
	   $(r)/etc/texmf/dvips/lilypond.map
	dh_link	usr/share/lilypond/$(VERSION)/tex \
			usr/share/texmf/tex/lilypond \
		usr/share/lilypond/$(VERSION)/fonts/source \
			usr/share/texmf/fonts/source/public/lilypond \
		usr/share/lilypond/$(VERSION)/fonts/afm \
			usr/share/texmf/fonts/afm/public/lilypond \
		usr/share/lilypond/$(VERSION)/fonts/tfm \
			usr/share/texmf/fonts/tfm/public/lilypond \
		etc/texmf/dvips/lilypond.map \
			usr/share/lilypond/$(VERSION)/dvips/lilypond.map
	dh_strip
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
#	dh_makeshlibs
	dh_md5sums
	dh_builddeb

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